Изменить жестко закодированное время эпохи в переменной? - PullRequest
0 голосов
/ 02 ноября 2018

У меня есть переменная с именем $end_date, которая дает мне дату в формате эпохи, например: 1539129600. Это переводится как Wednesday 10 October 2018 00:00:00.

Переменная возвращает разные даты, но время всегда одинаково 00:00:00. Можно ли взять эту переменную, установить время на 23:59:59 и сохранить его обратно в новую переменную с именем $end_date_time, содержащую ту же дату и новое время 23:59:59 в формате эпохи.

1 Ответ

0 голосов
/ 02 ноября 2018

Это можно сделать с помощью класса 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

Демонстрация на 3v4l.org

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...