Я пытаюсь сделать простой обратный отсчет, но это дает неправильное время:«strtotime (« завтра ») - время()« ИЛИ »strtotime (« завтра ») - strtotime ('now')" не даст правильное время до предстоящей полуночи
$time_seconds_view = strtotime('tomorrow') - time(); echo date("H" . " \h\o\u\\r\s\, " . "i" . " \m\i\\n\u\\t\\e\s\, \a\\n\d " . "s" . " \s\\e\c\o\\n\d\s", $time_seconds_view);
плюет из 00 hours, 30 minutes, and 00 seconds
date_default_timezone_set($this->session->userdata('timezone'));
даже если установлен в America/Phoenix
следует выплюнуть 07 hours, 30 minutes, and 00 seconds
это как если бы PHP не принимал во внимание, что я изменил часовой пояс по умолчанию.
Все, что я делаю неправильно? Спасибо за вашу помощь!
Вау, спасибо! Работает. Что случилось с моим кодом? Так запутался, почему это не сработает правильно. –
Также, как ваш код [ваша демонстрация в действии] мог получить правильный часовой пояс от меня? –
Не уверен. Но time(), strtotime(), date() и т. Д. Не были рассчитаны на математику с датами, поэтому для вещей легко отключиться по неочевидным причинам. К счастью, DateTime() решает эту проблему для нас. –