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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.07.2010, 00:01   #7  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5803 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от HorrR Посмотреть сообщение
в наиболее общем виде эту проблему стоило бы решать посредством использования 2 WinApi: RtlLocalTimeToSystemTime и SystemTimeToTzSpecificLocalTime. Трудности в том, что в Аксапте обертки вокруг RtlLocalTimeToSystemTime вообще нет и её нужно создавать. А SystemTimeToTzSpecificLocalTime сделанна таким образом, что преобразование всегда идет в текущую временную зону, то есть для этого метода и для этих целей нужно делать другую обертку.
Не учите людей плохому Во-первых, RtlLocalTimeToSystemTime - это не WinAPI-функция, это внутренняя функция ntdll, интерфейс которой не обязательно будет сохраняться между версиями виндов (вместо нее стоит воспользоваться "настоящей" WinAPI-функцией LocalFileTimeToFileTime), а во-вторых, в 2009-й появился AOS под x64, который не поддерживает DLLFunction в принципе, поэтому такое решение - полумера, не имеющая перспектив в свете обновления на последние версии Аксапты (и поэтому же WinAPIServer в 2009-й переписан на .NET).
Цитата:
Сообщение от HorrR Посмотреть сообщение
Решение же проблемы в конкретном случае оказалось куда более простым. Создаем серверный метод на классе, возвращающий timenow() сервера - имеем серверной время в серверном временном поясе.
По-моему, вы - хотя бы отчасти - скрываете сложность реализации: timenow() выдает число секунд с полуночи. Что, если ваша целевая временнАя зона находится, к примеру, восточнее временнОй зоны сервера? В этом случае вам придется отматывать назад не только время, но и потенциально дату (час ночи 16-го числа в одной зоне может быть десятью вечера 15-го в другой).
За это сообщение автора поблагодарили: Logger (2).
Теги
time, time zone, время, часовые пояса

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Вопрос по Проектам PSA DAX: Функционал 35 19.01.2007 22:26
Вопрос по проектам Фиксированная цена PSA DAX: Функционал 9 29.06.2006 14:23
Вопрос по временным таблицам Кирилл DAX: Программирование 3 15.04.2004 14:09
расчеты с персоналом. НДФЛ. вопрос чайника shumelka DAX: Функционал 2 25.03.2004 11:36
Вопрос к пользователю при сохранении данных в таблице Anais DAX: Программирование 1 19.03.2004 10:28
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 18:05.