Ответ
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.
- Создание даты в указанном часовом поясе, G_Z [M] 05.03.2016 02:39 / 05.03.2016 02:41
- Даты смещаются в руках, G_Z [M] 07.03.2016 18:19
- Ответ, MoKo 08.03.2016 00:53
- Ответ, G_Z [M] 08.03.2016 01:21
- Ответ, MoKo 06.03.2016 14:04
- Вдогонку: date:now и date:roll — часовой пояс по умолчанию и текущее время, G_Z [M] 05.03.2016 16:52 / 05.03.2016 20:36
- Ответ, MoKo 06.03.2016 14:14
- Ответ, G_Z [M] 06.03.2016 15:54 / 06.03.2016 15:55
- Ответ, MoKo 06.03.2016 17:26
- Дела в Win, G_Z [M] 06.03.2016 18:48 / 06.03.2016 18:55
- Ответ, G_Z [M] 06.03.2016 18:25