到目前为止在php和mongodb中的时间戳

时间:2016-01-20 17:27:27

标签: php mongodb

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

代码是:

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

  $datetime = $utcdatetime->toDateTime();

  var_dump($datetime);

2 个答案:

答案 0 :(得分:14)

documentation 表示构造函数接受一个表示时间戳的整数参数(以毫秒为单位),您将以秒为单位提供时间戳,因此结果无效。

将值乘以1000以获得时间戳(以毫秒为单位),从而返回转换的有效日期时间对象:

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

$datetime = $utcdatetime->toDateTime();

var_dump($datetime);

答案 1 :(得分:0)

对任何寻找此事的人: 您首先要在时间戳中转换值,然后您将能够在有效的ISODate中转换它。 例如:

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