parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Вдогонку: date:now и date:roll — часовой пояс по умолчанию и текущее время

G_Z 05.03.2016 16:52 / 05.03.2016 20:36

@main[]
# $default[MSK-3]
# $target[NOVT-6]

$default[Europe/Moscow]
$target[Asia/Novosibirsk]

^date:roll[TZ;$target]

$date[^date::create(2016;3;5)]
$now[^date::now[]]
$today[^date::today[]]

now at target tz: [$now.hour $now.minute $now.second]<br/>

^date:roll[TZ;$default]

^date.roll[TZ;$default]
^now.roll[TZ;$default]
^today.roll[TZ;$default]

now at default tz: [$now.hour $now.minute $now.second]<br/>

date: ^date.sql-string[]=2016-03-05 03:00:00<br/>
now: ^now.sql-string[]=2016-03-05 16:49:08 must be 2016-03-05 19:49:08<br/>
today: ^today.sql-string[]=2016-03-05 03:00:00
Now выдаёт время в старом часовом поясе, созданное в новом поясе по умолчанию, вместо того, чтобы выдавать всегда текущее в текущем поясе.

Крайне странная логика.
^date:roll[TZ;NOVT-6]
$now[^date::now[]]
^now.sql-string[]
Получаем московское время минус три часа.
После ^date:roll[TZ;NOVT-6] часовой пояс сервера по умолчанию — Новосибирск, а время выдаётся смещённое в Москву.
Откуда оно этот пояс для смещения вообще берёт, если выше выставлен пояс по умолчанию, а ^now.roll[TZ;MSK-3] не делался?

Win 7x64, Parser 3.4.4 RC.
Ubuntu 12.04.5 LTS (GNU/Linux 3.11.0-15-generic x86_64), Parser 3.4.4 RC.