Переход на зимнее/летнее время [php]

dasha69

Есть три флэша ввиде часиков. Они должны показывать время в Лондоне, Лимассоле(Кипр) и Москве.
В флэшку передается сдвиг относительно времени по Гринвичу, соответственно 0, 2 и 3.
Как в таком случае на уровне php контролировать переход на летнее/зимнее время?

uncle17

ну самый простой способ - дату проверять

dasha69

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

uncle17

ну тогда чуть-чуть посложнее - ищешь последнее воскресенье октября и соответственно марта (или апреля, не помню).
code:
?
$cur_mon=date("n");
$cur_day=date("D");
if($cur_mon3 && $cur_mon10) $time="летнее";
if($cur_mon10 && $cur_mon3) $time="зимнее";
if($cur_mon==3)
{
if ($cur_day=="Sun")
{
if(date("n", time+604800==$cur_mon) {$time="зимнее";} else {$time="летнее";}
}
}
if($cur_mon==10)
{
if ($cur_day=="Sun")
{
if(date("n", time+604800==$cur_mon) {$time="летнее";} else {$time="зимнее";}
}
}
?

вот. вроде, так.
З.Ы. Только еще усложнить придется - часы проверять, не только дни.
Кстати, а почему на серваке время на зимнее/летнее не настроить? Проблема просто отпадет

dasha69

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

artimon

code:?php
putenv('TZ=Europe/Moscow');
echo date("r [T:O]\n", 1130300000);
echo date("r [T:O]\n", 1130900000);
putenv('TZ=EET');
echo date("r [T:O]\n", 1130300000);
echo date("r [T:O]\n", 1130900000);
putenv('TZ=Europe/London');
echo date("r [T:O]\n", 1130300000);
echo date("r [T:O]\n", 1130900000);
?
Вывод
code:Wed, 26 Oct 2005 08:13:20 +0400 [MSD:+0400]
Wed, 02 Nov 2005 05:53:20 +0300 [MSK:+0300]
Wed, 26 Oct 2005 07:13:20 +0300 [EEST:+0300]
Wed, 02 Nov 2005 04:53:20 +0200 [EET:+0200]
Wed, 26 Oct 2005 05:13:20 +0100 [BST:+0100]
Wed, 02 Nov 2005 02:53:20 +0000 [GMT:+0000]

dasha69

а полное описание масок во втором параметре есть в инете
не знал даже, что date столько всего может
Оставить комментарий
Имя или ник:
Комментарий: