php - 如何在 MongoDB 中处理低于 1970 的日期

标签 php mongodb

我有一个包含“生日”字段的文档,它的值也可以小于 01-01-1970。我该如何处理? 例如

{....
    'birthday' => newMongoDate(strtotime('31/10/1968')),
 ....
}

这将创建一个“生日”值:“1/1/1970 12:00:00 AM”(日期时间)

最佳答案

您运行的是什么版本的 PHP?我猜 Windows 上的 PHP < 5.1? strtotime() 的日期范围应为 1901 年 12 月 13 日星期五 20:45:54 GMT 和 2038 年 1 月 19 日星期二 03:14:07 GMT(使用 PHP 5.1 及更高版本)。

对于 PHP 5.2 及更高版本,您可以使用:

$date = new DateTime('1 Jan 1950');
echo $date->format('Y-m-d');

或者,

$date = DateTime::createFromFormat('d M Y','1 Jan 1950');
echo $date->format('Y-m-d');

关于php - 如何在 MongoDB 中处理低于 1970 的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16809613/

相关文章:

javascript - Reactjs 与 Laravel REST API : No 'Access-Control-Allow-Origin' header is present on the requested resource

android - 无法在包含 StatefulWidget 的 flutter 文件中添加 mongodart

php - 删除 XML 中的属性

javascript - ACF Gutenberg block 不在后端呈现光滑的 slider

phpunit - 错误的路径

php - 保存动态规划状态的算法

mongodb - 使用 docker 和 fig 设置 mongodb 副本集的正确方法是什么?

node.js - 如何使用 mongoose-seeder,无法插入数据

node.js - 使用 mongoose 和 Fixie(Heroku 附加组件)连接到 mongodb

Node .js/mongoDB : Return custom value if field is null