我有一个带有“birthday”字段的文档,它的值也可以低于01-01-1970。我该怎么办?
例如。

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

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

最佳答案

你在运行什么版本的php?我猜在windows上phpstrtotime()日期范围应为1901年12月13日星期五20:45:54 GMT和2038年1月19日星期二03:14:07 GMT,php 5.1及更高版本。
对于PHP5.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');

10-05 19:11