大家好我在mongodb存储日期。我面临的问题是我得到的日期时间字符串。我尝试将其转换为mongodate但它将其转换为0.00000000 2016
。这是代码
$params['start'] = new MongoDate($params['start']);
$params['end'] = new MongoDate($params['end']);
字符串会以此格式2016-04-07 19:49:50
显示日期时间,但在转换后,它会变为此0.00000000 2016
。请告诉我,我做错了什么
答案 0 :(得分:4)
Per the docs,MongoDate需要时间戳值1460058590
,而不是像2016-04-07 19:49:50
这样的字符串。
$params['start'] = new MongoDate(strtotime($params['start']));
答案 1 :(得分:3)
MongoDate
constructor需要在Unix纪元秒内的时间,而不是时间字符串。
public MongoDate::__construct ([ int $sec = time() [, int $usec = 0 ]] )
您需要使用strtotime
或DateTime
转换时间字符串。构造函数文档中的示例代码甚至包含一个示例:
$d = new MongoDate(strtotime("2009-05-01 00:00:01"));
echo "$d\n";