parser

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

 

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

Ответ

G_Z 06.03.2016 15:54 / 06.03.2016 15:55

Насколько понимаю, пустой TZ — это TZ в ОС.

Выставив другой TZ по умолчанию через ^date:roll[TZ;$target] (который для этого и задуман) невозможно его узнать — нужно хранить, и невозможно к нему вернуться через ^date:roll[TZ;] — это TZ в ОС.
Лучше, всё же хранить и явно указывать при сдвигах.

То, что дату после смены TZ нужно пересчитывать — ясно.

Неясны два момента:
1. поведение date:now;
2. числовое значение дат в разных поясах. Из-за поведения now там сейчас странное.

В примере ниже now, судя по всему, принудительно сразу сдвигает дату в TZ ОС, хотя его об этом не просят.
А после date:roll получается двойной сдвиг.
^date:roll[TZ;NOVT-6]
$now[^date::now[]]
^date:roll[TZ;MSK-3]

$_now[^date::now(3 / 24)]

^now.sql-string[], must be ^_now.sql-string[]
Задача — узнать сколько сейчас времени в указанном TZ.