| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Sumo 01.10.2003 11:37
Дата перехода летнее время - последнее воскресенье марта, а дата перехода на зимнее - последее воскресенье октября. [по крайней мере в Европе это стандарт]# Определяем относится ли $aTime к "летнему времени".
# Если параметр не задан, то берем текущее время.
# http://wwp.greenwichmeantime.com/local/rules/eu.htm
@_isDaylightTime[aTime][lCal;lNow;lStart;lEnd]
$lNow[^date::now[]]
# Определяем последнее воскресенье марта
$lCal[^date:calendar[eng]($lNow.year;3)]
^lCal.offset(-1)
^while(!def $lCal.0){
^lCal.offset(-1)
}
$lStart[^date::create($lNow.year;3;$lCal.0)]
# Определяем последнее воскресенье октября
$lCal[^date:calendar[eng]($lNow.year;10)]
^lCal.offset(-1)
^while(!def $lCal.0){
^lCal.offset(-1)
}
$lEnd[^date::create($lNow.year;10;$lCal.0)]
# Определяем где у нас время :)
^if(!def $aTime){
$aTime[^date::now[]]
}{
^if($aTime is string){
$aTime[^date::create[$aTime]]
}
}
^if($aTime > $lStart && $aTime < $lEnd){
$result(1)
}{
$result(0)
}