要更改为硬编码的纪元时间吗?

时间:2018-11-02 07:43:21

标签: php epoch

我有一个名为$end_date的变量,它以诸如1539129600这样的纪元格式给我日期。这将转换为Wednesday 10 October 2018 00:00:00

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

1 个答案:

答案 0 :(得分:1)

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

$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

format