我花了3天时间试图解决这个问题,但没有成功。我正在使用MongoDBPHP库,我正在尝试使用PHP文档中的示例将时间戳转换为有效日期,但它总是返回1970-01-17。代码是:$utcdatetime=newMongoDB\BSON\UTCDateTime(1453939200);$datetime=$utcdatetime->toDateTime();var_dump($datetime); 最佳答案 documentation指出构造函数接受一个整数参数,表示以毫秒为单位的时间戳,您提供的时间戳以秒为单位,因此日期结果无效。将该
我发现UTCDateTime对象有些奇怪:$dt=newUTCDateTime(time());var_dump($dt);输出:object(MongoDB\BSON\UTCDateTime)#208(1){["milliseconds"]=>int(1478644003)}好的,所以这个时间戳是2016年11月8日。但是当我执行以下操作时:var_dump($dt->toDateTime());输出:object(DateTime)#206(3){["date"]=>string(26)"1970-01-1802:44:04.105000"["timezone_type"]=>in
我需要有关将时区转换为MongoDB\BSON\UTCDateTime的PHPDateTime的帮助。如果我有字符串"2015-10-20T04:02:00.608000+01:00"它会给我一个DateTime$date=DateTime::createFromFormat('Y-m-d\TH:i:s.uT',$string);DateTimedate=>"2015-10-2004:02:00.608000"timezone_type=>1timezone=>"+01:00"如果我将它转换为MongoDB\BSON\UTCDateTime并转换回PHPDateTime$mDate=n
升级到新的MongoDriverforPHP后,我面临排序和查询日期的问题。使用的旧驱动程序:http://php.net/manual/en/class.mongodate.php以秒为单位将日期存储在MongoDate对象中。新驱动程序:http://php.net/manual/en/class.mongodb-bson-utcdatetime.php以不同的格式存储日期并以毫秒为单位。这使得使用$gte或$lte的查询变得毫无用处。示例:$collection->find(array('start_date'=>array('$gte'=>newMongoDate())));$
升级到新的MongoDriverforPHP后,我面临排序和查询日期的问题。使用的旧驱动程序:http://php.net/manual/en/class.mongodate.php以秒为单位将日期存储在MongoDate对象中。新驱动程序:http://php.net/manual/en/class.mongodb-bson-utcdatetime.php以不同的格式存储日期并以毫秒为单位。这使得使用$gte或$lte的查询变得毫无用处。示例:$collection->find(array('start_date'=>array('$gte'=>newMongoDate())));$