【问题标题】:Change to hardcoded epoch time in variable?更改为变量中的硬编码纪元时间?
【发布时间】:2019-04-06 11:00:09
【问题描述】:

我有一个名为$end_date 的变量,它以纪元格式提供日期,如下所示:1539129600。这转换为Wednesday 10 October 2018 00:00:00

变量返回不同的日期,但时间始终相同00:00:00。是否可以使用此变量,将时间设置为 23:59:59 并将其保存回一个名为 $end_date_time 的新变量,其中包含相同的日期和新时间 23:59:59 以纪元格式。

【问题讨论】:

    标签: php epoch


    【解决方案1】:

    您可以使用DateTime 类执行此操作,使用setTimestamp 转换时间戳,然后使用setTime 设置一天中的时间,最后使用format 获得新的时间戳:

    $end_date = 1539129600;
    $end_of_day = new DateTime(null, new DateTimeZone('UTC'));
    $end_of_day->setTimestamp($end_date);
    echo $end_of_day->format('Y-m-d H:i:s') . "\n";
    $end_of_day->setTime(23,59,59);
    echo $end_of_day->format('Y-m-d H:i:s') . "\n";
    echo (int)$end_of_day->format('U');
    

    输出:

    2018-10-10 00:00:00 
    2018-10-10 23:59:59 
    1539215999
    

    Demo on 3v4l.org

    【讨论】:

      猜你喜欢
      • 2013-04-07
      • 2013-07-19
      • 1970-01-01
      • 2021-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-09
      • 2015-02-14
      相关资源
      最近更新 更多