AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Администрирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 15.01.2015, 13:22   #1  
leva is offline
leva
Участник
 
52 / 36 (2) +++
Регистрация: 03.08.2005
После установки CU8 новые часовые пояса не появились, а вот с установкой KB3012215 (уже после CU8) - да. При этом, никаких автоматических обновлений дат в существующих записей не произошло (не смотря на то, что MS пишут что TZID поля для того и нужны и "Upgrades provided by Microsoft automatically make these corrections when they update time zone and DST rules.", а отдельного патчера, как известно, в 2012 уже нет.

И по-другому видимо стало интерпретироваться SDAY. Всегда это был номер недели в месяце (5 = последняя неделя). И в новых записях TIMEZONESRULESDATA так и настроено:
RULEID=61005, TZENUM=61, YEAR=2014, BIAS=-180, ..., SYEAR=2014, SMONTH=10, SDAYOFWEEK=0, SDAY=5, SHOUR=2, ... Т.е. воскресенье последней недели, что соответствует 26 октября когда и был перевод.

Но в реальности это интерпретируется как 5 октября:
X++:
info(strFmt("%1", DateTimeUtil::getDifference(dtu, DateTimeUtil::applyTimeZoneOffset(dtu, DateTimeUtil::getUserPreferredTimeZone())) / 3600));
Для 4 октября выдает -4,00 (dtu = 2014-10-04T14:01:36), для 5-го (dtu = 2014-10-05T14:01:36) уже -3.
А для 2009 года уже работает правильно, для 24 октября (dtu = 2009-10-24T14:01:36) -4 и для 25 октября (последнее воскресенье в 2009-м) (dtu = 2009-10-25T14:01:36) -3, хотя запись в TIMEZONESRULESDATA настроена также.

Может я где-то ошибся, хорошо бы если кто-то проверил выполнить на своем приложении с CU8.
Старый 19.01.2015, 14:37   #2  
axm2013
Гость
 
n/a
Цитата:
Сообщение от leva Посмотреть сообщение
...
Но в реальности это интерпретируется как 5 октября:
..
Может я где-то ошибся, хорошо бы если кто-то проверил выполнить на своем приложении с CU8.
Проверил вроде действительно так. Непонятно как быть и как с этим жить. Кому верить и самое как лечить?

Последний раз редактировалось axm2013; 19.01.2015 в 15:20.
Старый 19.01.2015, 15:26   #3  
leva is offline
leva
Участник
 
52 / 36 (2) +++
Регистрация: 03.08.2005
Цитата:
Сообщение от axm2013 Посмотреть сообщение
как лечить?
Записать в SDAY=26.
Кстати, записи с SDAY > 5 в TIMEZONESRULESDATA уже есть.
За это сообщение автора поблагодарили:  (1).
Старый 19.01.2015, 15:29   #4  
axm2013
Гость
 
n/a
Цитата:
Сообщение от leva Посмотреть сообщение
Записать в SDAY=26.
Кстати, записи с SDAY > 5 в TIMEZONESRULESDATA уже есть.
Ага, спасибо.

Думал сам попробовать глядя на иностранных коллег, но хотелось подтверждения
+ непонятно почему 5 стало восприниматься как 5 дней а не как 5 неделя

"y theory was this: with DMONTH = 8 and DDAYOFWEEK = 6, we have

DDAY = 4 ==> 4th saturday in August
DDAY = 5 ==> last saturday in August
DDAY = n > 5 ==> n-th of August (possible clash with DDAYOFWEEK?)
So what are SDAYs and DDAYs that are larger than 5?"
http://stackoverflow.com/questions/1...ime-conversion
Теги
time, time zone, utc, utcdatetime, зимнее время, часовые пояса

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Время транспортировки в часах Innokentiy DAX: Программирование 2 21.07.2011 15:44
DAX2009 зафиксировать дату и время сеанса Raven Melancholic DAX: Функционал 3 25.04.2011 16:26
Переход с Axapta 3.0 на AX 2009 - критика утилиты конвертации БД и скриптов обновления gl00mie DAX: Администрирование 5 02.01.2011 23:37
Время по графику и фактическое время работы в табеле nicko DAX: Функционал 0 09.02.2005 15:24
Установить время файла? SnowMan DAX: Программирование 5 01.10.2003 14:42

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 20:24.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.