Летнее время с mysql и php

Быстрый вопрос:

У меня проблема с переходом на летнее время, влияющим на вывод данных на моем сайте.

Все отображается на час вперед (в настоящее время мы находимся в середине BST).

Как мне заставить мою базу данных распознавать переход на летнее время и выводить соответственно?

Язык программирования — PHP. База данных — MySQL. Рассматриваемые данные отформатированы как DATETIME.

И мой код:

<?php
echo date('D, jS F @ g:ia', strtotime($event_date));
?>

person user2505513    schedule 22.07.2013    source источник
comment
Храните все в формате UTC и отображайте в местном часовом поясе.   -  person Anigel    schedule 22.07.2013
comment
@Anigel Я не совсем понимаю, что вы имеете в виду, когда говорите хранить его в UTC. Насколько мне известно, в настройках MySQL установлено значение UTC. Вы имеете в виду, что мне нужно добавить дополнительную строку в файл .htaccess?   -  person user2505513    schedule 22.07.2013
comment
Я не уверен, что вы спрашиваете. Вы говорите, чтобы база данных распознавала, когда это BST, и все же вы форматируете дату в php. В MySQL храните все в формате UTC, затем используйте php.net/ manual/en/function.date-default-timezone-set.php, чтобы установить правильный часовой пояс перед использованием date() в php для форматирования вашей даты   -  person Anigel    schedule 22.07.2013


Ответы (2)


используйте date_default_timezone_set('UTC'); (возможно, вы захотите взглянуть на php руководство)

person dabe    schedule 22.07.2013

Вы также можете сохранить метку времени, а затем использовать date($myFormat,$myTimeStamp);

person Done    schedule 22.07.2013