Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
moko 16.11.2015 20:12
тот же dtf просто смещал дату, обнаружив зону.На всякий случай поясню, что ^dt.roll[TZ] не изменяет дату (результат ^dt.gmt-string[] не изменится), а меняет часовой пояс, в котором выводится дата. Поэтому в dft считается разница и добавляется:
^dt.roll[TZ;$sTZ] $iDiff(^date::create($dt.year;$dt.month;$dt.day;$dt.hour;$dt.minute;$dt.second) - $result) $result[^date::create($dt - $iDiff)]Но время очень нелогично. :) Отнять три часа и прибавить три часа - совсем не одно и тоже, поскольку бывают переводы часов (в примере перевод 2010-03-28 2:00 на час вперед), в такие моменты dft ошибался (ниже код для Linux, в отличии от Windows он хранит историю переводов времени). Так что к лучшему, что эти переводы отменили. :)
$n[^date::create[2010-03-28 3:30]] правильно: ^n.sql-string[] (^n.gmt-string[]) $d[^dtf:from822[^n.gmt-string[]]] неправильно: ^d.sql-string[]Результат: