【问题标题】:How get previous date from today in mongodb php?如何在mongodb php中从今天开始获取上一个日期?
【发布时间】:2018-08-30 09:40:42
【问题描述】:

我正在使用以下代码提取今天的日期并将该值放入$today

$today =  new MongoDB\BSON\UTCDateTime((new DateTime())->getTimestamp() * 1000);
var_dump($today);

输出是

object(MongoDB\BSON\UTCDateTime)#10 (1) { ["milliseconds"]=> string(13) "1535621796000" }

现在我想提取今天的date 的前一天并将该值以“ISODate("2018-08-29T22:00:00.0Z")" 格式放入昨天。

【问题讨论】:

    标签: php mongodb-php php-mongodb


    【解决方案1】:

    strtotime(date("Y-m-d H:i:s",$today->toDateTime()->getTimeStamp()).' -1 day')应该按照 http://php.net/manual/en/mongodb-bson-utcdatetime.todatetime.phphttp://php.net/manual/en/class.datetime.php

    一旦你有了昨天的时间戳,你就可以用 date(format,timestamp) 或者你喜欢的任何其他类来格式化结果

    【讨论】:

    • 我试过 $yesterday = strtotime($today->toDateTime()->getTimeStamp().' -1day'); var_dump($昨天);但结果是 bool(false) 而不是时间戳值
    • strtotime 返回时间戳,所以 $yesterday 应该是一个整数
    【解决方案2】:

    为什么不使用DateTime 中的modify()

    $date = (new \DateTime())->modify('-1 day');
    

    然后按照你期望的方式格式化:

    echo $date->format(\DateTime::ATOM);
    

    你可以在这里看到它经过测试:https://3v4l.org/bavG4

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-30
      • 1970-01-01
      相关资源
      最近更新 更多