1

大家好,我将日期存储在 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。请告诉我我做错了什么

4

2 回答 2

4

根据文档,MongoDate 需要一个时间戳值1460058590,而不是字符串2016-04-07 19:49:50

$params['start'] = new MongoDate(strtotime($params['start']));
于 2016-04-06T15:03:44.220 回答
3

构造MongoDate函数需要以 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";
于 2016-04-06T15:04:03.910 回答