15.01.2016, 14:45 | #1 |
Участник
|
Что-то с временными зонами
Код:
info(enum2str(DateTimeUtil::getClientMachineTimeZone())); info(enum2str(DateTimeUtil::getCompanyTimeZone())); info(enum2str(DateTimeUtil::getOriginatingTimeZone(DateTimeUtil::getSystemDateTime()))); info(enum2str(DateTimeUtil::getUserPreferredTimeZone())); Выдает результат: Info Сообщение (14:41:22) (GMT+03:00) Москва, Санкт-Петербург, Волгоград Info Сообщение (14:41:22) (GMT+03:00) Москва, Санкт-Петербург, Волгоград Info Сообщение (14:41:22) (GMT) Касабланка, Монровия, Рейкьявик Info Сообщение (14:41:22) (GMT+03:00) Москва, Санкт-Петербург, Волгоград А код: info(DateTimeUtil::toStr(DateTimeUtil::getSystemDateTime())); Выдает: 2016-01-15T11:42:05 Показывает время на 3 часа меньше. В Сервис - Дата сеанса: Текущая временная зона = (UTC+03:00) Волгоград, Москва, Санкт-Петербург (RTZ 2) Временная зона сеанса = (UTC+03:00) Волгоград, Москва, Санкт-Петербург Без "(RTZ 2)" Если щелкнуть на поле с Временной зоной сеанса, то значение в нём исчезает. Что это означает? Что не так с временными зонами? Как исправить? |
|
15.01.2016, 15:42 | #2 |
MCITP
|
Насколько я понимаю, info вам показывает время в UTC.
Если вы хотите вывести в своём временном поясе - переводите в него. В DateTimeUtil есть метод для этого.
__________________
Zhirenkov Vitaly |
|
15.01.2016, 15:56 | #3 |
Участник
|
Цитата:
Функции getSystemDateTime(), newDateTime() класса DateTimeUtil эту информацию в возвращаемом значении не сохраняют Цитата:
преобразование в строку не учитывает тайм-зону Для того, что бы тайм-зона учлась, это надо проделать явно. Например, с помощью функции DateTimeUtil::applyTimeZoneOffset() (надо учесть, что для возвращаемого значения просто прибавится время смещения таймзоны) Контролы на формах умеют учитывать текущее время пользователя автоматически (если не было указано иное с помощью свойства timezonePreference) Цитата:
Сообщение от Lanai
В Сервис - Дата сеанса:
Текущая временная зона = (UTC+03:00) Волгоград, Москва, Санкт-Петербург (RTZ 2) Временная зона сеанса = (UTC+03:00) Волгоград, Москва, Санкт-Петербург Без "(RTZ 2)" Если щелкнуть на поле с Временной зоной сеанса, то значение в нём исчезает. Что это означает? Что не так с временными зонами? Как исправить? либо, у вас не сделаны изменения в ktd-файле для новых названий тайм-зон. Посмотрите в той же теме - выше об этом пишется
__________________
Axapta v.3.0 sp5 kr2 |
|
|
За это сообщение автора поблагодарили: AnGor (1), MazZzDaI (1). |
29.06.2016, 22:25 | #4 |
Участник
|
После каждой инициализации переменной типа utcDateTime необходимо явно указывать TimeZone функцией DateTimeUtil::applyTimeZoneOffset()
|
|
18.09.2016, 23:54 | #5 |
Участник
|
Ответ был найден тут.
Необходимо было внести изменения в таблицу TimeZonesRulesData. |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|