【问题标题】:How to convert ISO Date to DateTime in php?如何在 php 中将 ISO 日期转换为 DateTime?
【发布时间】:2015-12-08 11:23:03
【问题描述】:

如何在mongodb中转换ISO日期:

ISODate("2015-11-20T10:00:09.809Z") 

到 php 日期?

【问题讨论】:

  • 您的日期存储在哪里?在 PHP 变量中?
  • 你是如何查询数据库的。用教义?如果是 MongoDate 类型,试试$date->toDateTime();
  • 在 mongodb 中。我需要以 M-d-Y 的形式输出。

标签: php mongodb date laravel datetime


【解决方案1】:

你应该检查MongoDate

//build a MongoDate object from a string format
$mongoDate = new MongoDate( strtotime("2010-01-15 00:00:00") );

一旦你有一个MongoDate 对象(这可能是你的情况),你可以通过这种方式将它转换为一个DateTime 对象:

//get a DateTime object
$phpDate = $mongoDate->toDateTime();

最后转换成你想要的格式:

$phpDate->format('M-d-Y');

【讨论】:

    【解决方案2】:

    $date = '2011-09-02T18:00:00';

    $time = strtotime($date);

    $fixed = date('l, F jS Y \a\t g:ia', $time);

    【讨论】:

      【解决方案3】:

      当您从 MongoDB 中提取 ISODate("2015-11-20T10:00:09.809Z") 您将获得 date=>sec 和 time=>usec

      的两个不同时间戳

      示例:

      "created_at":{"sec":1592249762,"usec":53000}
      

      然后您可以同时添加 sec 和 usec,您将获得新的时间戳。

      $newTimeStamp = $created_at->sec+$created_at->usec; 
      
      echo date('Y-m-d H:i:s', $newTimeStamp);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-07-16
        • 1970-01-01
        • 1970-01-01
        • 2013-09-08
        • 2020-05-10
        • 1970-01-01
        • 2016-04-03
        • 1970-01-01
        相关资源
        最近更新 更多