Проблема со временем в PHP при переходе на зимнее время.

STMike
На сайте с 29.03.2010
Offline
109
504

Добрый день, возможно кто-то подскажет как можно исправить проблему.

Я формирую XML-фид из отзывов, но после перехода на зимнее время, валидатор стал выдавать ошибку. Почему-то в дате и времени отзывов перестало присутствовать двоеточие в часовом поясе. Старые записи прекрасно себя чувствуют, новые же выдают ошибку.

Вместо - 2014-02-07T13:36:02+04:00

Формируется - 2014-02-07T13:36:02+0300

Вот код которым это делается, но моих знаний не хватает чтобы понять как правильно внести необходимые правки.

while ( $row = $db->get_array( $result ) ) {

$row['date'] = date(DATE_ISO8601, strtotime($row['date']));

$row['date'] = str_replace( "0400", "04:00", $row['date'] );

Может кто-то из форумчан кто дружит с программированием поможет найти решение.

domen4you
На сайте с 08.03.2013
Offline
53
#1

добавь

$row['date'] = str_replace( "0300", "03:00", $row['date'] );

это если двоеточие надо, а если изменить часовой пояс - то это в настройки сервера

STMike
На сайте с 29.03.2010
Offline
109
#2

domen4you

Большое спасибо! Все заработало и оказалось проще чем я думал:)

siv1987
На сайте с 02.04.2009
Offline
427
#3

$row['date'] = preg_replace( "/(\d{2})(\d{2})$/", "$1:$2", $row['date'] );

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий