date() и часовой пояс

haxyn

Новичок
Не могу понять как работает date().
Мой часовой пояс +0000 и вот что выдаёт php
PHP:
date('r', 60); /* Thu, 01 Jan 1970 01:01:00 +0100 */
date('r', 1358100000); /* Sun, 13 Jan 2013 18:00:00 +0000 */
Почему в одном случае +0100 а в другом +0000
Даже например 2009-й это +0000, а 2000-й уже +0100

Чувствую ответ как всегда прост, но ума не приложу в чём тут дело.

P.S.
date_default_timezone_set и setlocale не помогли.
 

haxyn

Новичок
Не пойму при чём тут RFC 2822 ?
Могу написать пример с H:i:s

PHP:
date('H:i:s O', 60);              /*01:01:00 +0100*/
date('H:i:s O', 1358100000);      /*18:00:00 +0000*/
 

WMix

герр M:)ller
Партнер клуба
PHP:
date_default_timezone_set('America/Los_Angeles');
echo date('r', 60)."\n";
echo date('r', 1358100000);
Код:
Wed, 31 Dec 1969 16:01:00 -0800
Sun, 13 Jan 2013 10:00:00 -0800
...rfc, это я было подумал, что ты не понимаешь что значит +0100...
 

haxyn

Новичок
А вот теперь я вообще ни черта не понимаю...
Скопировал твой пример в php файл и менял ( string $timezone_identifier )

т.е. у Москвы и Лос Анджелеса усё ок, а Дублин и Таллин дают ту самую разницу в час.


PHP:
date_default_timezone_set('America/Los_Angeles');  /*Wed, 31 Dec 1969 16:01:00 -0800 Sun, 13 Jan 2013 10:00:00 -0800*/
date_default_timezone_set('Europe/Moscow');  /*Thu, 01 Jan 1970 01:01:00 +0300 Sun, 13 Jan 2013 18:00:00 +0300*/


date_default_timezone_set('Europe/Dublin');  /*Thu, 01 Jan 1970 01:01:00 +0100 Sun, 13 Jan 2013 18:00:00 +0000*/
date_default_timezone_set('Europe/Tallinn');  /*Thu, 01 Jan 1970 03:01:00 +0300 Sun, 13 Jan 2013 20:00:00 +0200*/
 
Сверху