Отметка времени одного часа

0

Я пытаюсь разрешить ошибку ввода времени, которую я имел. Первая временная метка в строке ниже соответствует Sunday 11/02/14 00:00 если мы добавим к ней 24 часа, как показано ниже, мы получаем Monday 11/03/14 00:00? Если мы добавим к нему 13 часов, как показано ниже, мы должны получить 11/03/14 13:00, я бы подумал!

Хотя, не уверенный, почему это продолжает вычисляться как 11/03/14 12:00, любые идеи относительно того, почему это?

$start_time = $start_date + ($day * 24 * 60 * 60) + ($hours * 60 * 60) + ($minutes * 60);

Переменные Отпечатанные

$start_time = 1414900800 + (1 * 24 * 60 * 60) + (13 * 60 * 60) + (00 * 60) = 1415034000 //converted to readable date: 11-03-2014 12:00
Теги:
timestamp

2 ответа

1
Лучший ответ

Вы получаете эти результаты из-за перехода на летнее время с 11/02/2014 по 11/03/2014, вы теряете часы в зависимости от выбранного вами часового пояса.

  • 0
    Спасибо за ответ! Разве эпоха не должна объяснить это? Есть ли способ сделать такой сценарий летнее время доказательством?
0

попробуйте date_default_timezone_set:

date_default_timezone_set('America/Los_Angeles'); //uses daylight savings
date_default_timezone_set('Etc/GMT-8');           //does not use daylight savings

с желаемым часовым поясом. Часовой пояс находится по адресу http://php.net/manual/en/timezones.php. Установите его перед любыми вызовами на день(), strtotime() и т.д.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню