繁体   English   中英

迄今为止在php和mongodb中的时间戳

[英]Timestamp to date in php and mongodb

我花了3天的时间尝试解决此问题,但没有成功。 我正在使用MongoDB PHP库,并尝试使用PHP Docs中的示例在有效日期中转换时间戳,但它始终返回1970-01-17。

代码是:

  $utcdatetime = new MongoDB\BSON\UTCDateTime(1453939200);

  $datetime = $utcdatetime->toDateTime();

  var_dump($datetime);

文档指出,构造函数采用整数参数表示时间戳(以毫秒为单位),您提供的时间戳以秒为单位,因此无效的日期结果。

将该值乘以1000可获得以毫秒为单位的时间戳,从而返回转换后的有效datetime对象:

$timestamp = 1453939200 * 1000;
$utcdatetime = new MongoDB\BSON\UTCDateTime($timestamp);

$datetime = $utcdatetime->toDateTime();

var_dump($datetime);

对于寻求此功能的任何人:您必须首先在时间戳中转换值,然后才能在有效的ISODate中对其进行转换。 例如:

  $utcdatetime = new MongoDB\BSON\UTCDateTime(strtotime($date));
  $date2 = new MongoDB\BSON\Timestamp(1, date($utcdatetime));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM