20.01.2021, 11:20 | #1 |
Участник
|
CreatedDateTime Акс2012
Вижу в стандартной Акс2012 такой код:
X++: createdTime = DateTimeUtil::getDifference( DateTimeUtil::applyTimeZoneOffset(DateTimeUtil::utcNow(), DateTimeUtil::getUserPreferredTimeZone()), DateTimeUtil::applyTimeZoneOffset(workflowTrackingTable.CreatedDateTime, DateTimeUtil::getUserPreferredTimeZone())); У нас разве CreatedDateTime может быть не совпадать с зоной DateTimeUtil::utcNow() ? |
|
20.01.2021, 18:25 | #2 |
Участник
|
Здесь либо была перестраховка, либо Copy+Paste. Оба же значения "сдвигают" на одинаковое значение. Т.е. разница не изменится от того, был этот сдвиг или нет
Если речь идет о методе \Data Dictionary\Tables\WorkflowTrackingStatusTable\Methods\getElapsedTime то там дальше надо отобразить в формате Дней/Часов/Минут. Вот, скорее всего, автор кода и подумал, что надо брать с учетом часовых поясов Хотя реально действительно нет смысла Впрочем, по методам Workflow полно кода с отображением времени создания. Так что, и Copy+Paste вполне себе мог быть...
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
|
За это сообщение автора поблагодарили: Perc (1), S.Kuskov (2). |
21.01.2021, 07:12 | #3 |
Участник
|
Пытаюсь дальше понять функции DateTimeUtil
Судя по наличию функции DateTimeUtil::getOriginatingTimeZone(d), предполагаю что тип utcDateTime хранит в себе timezone. Это так? Но сомневаюсь в этом. Как тогда добиться чтобы DateTimeUtil::getOriginatingTimeZone(d) возвращал что либо отличное от (GMT) Касабланка, Монровия, Рейкьявик? У меня не получилось ни изменением ни applyTimeZoneOffset. И в чем ее смысл тогда? |
|
21.01.2021, 08:22 | #4 |
Участник
|
Например, вот так
X++: utcDateTime transDateTime = DateTimeUtil::newDateTime(today(), timeNow(), Timezone::GMTMINUS0100AZORES);
info(strFmt("%1", DateTimeUtil::getOriginatingTimeZone(transDateTime)));
__________________
Sergey Nefedov |
|
21.01.2021, 10:47 | #5 |
Участник
|
Цитата:
The utcdatetime data type is intrinsic to X++. It combines date and timeOfDay types into one type. A utcdatetime variable also holds time zone information, though this information is not accessible to X++ code. |
|
|
За это сообщение автора поблагодарили: Perc (1). |
21.01.2021, 20:32 | #6 |
Участник
|
Цитата:
Сообщение от Pandasama
https://docs.microsoft.com/en-us/dyn...er/utcdatetime
The utcdatetime data type is intrinsic to X++. It combines date and timeOfDay types into one type. A utcdatetime variable also holds time zone information, though this information is not accessible to X++ code. Стало яснее после того как сделал в таблице поле utcDateTime и посмотрел в таблицу SQL. Оказывается хитрецы добавили 2 поля datetime и int под timezone.. |
|