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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.09.2006, 18:26   #16  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5788 (200) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от Gustav
Надо только найти еще один час. Есть ли какие-нибудь соображения насчет этого дополнительного часа?
Пойдем от обратного. Зачем нам заморачиваться с часовыми поясами, если и система считает время по Гринвичу, и файловые времена хранятся по Гринвичу?
X++:
// дополнение к классу WinAPI
client server static Binary getSystemTime()
{
    DLL         _winApiDLL      = new DLL(#KernelDLL);
    DLLFunction _getSystemTime  = new DLLFunction(_winApiDLL, @'GetSystemTime');
    Binary      systemTime      = new Binary(#offset16);
    _getSystemTime.returns(ExtTypes::void);
    _getSystemTime.arg(ExtTypes::Pointer);
    _getSystemTime.call(systemTime);
    return systemTime;
}

static void KKu_Job_6901_TestFileTime(Args _args)
{
    FileName    fileName = @'c:\testtime.txt';
    int         hFile;
    ;
    if (WinAPI::fileExists( fileName ))
        WinAPI::deleteFile( fileName );
    hFile = WinAPI::createFile( fileName );
    WinAPI::closeHandle( hFile );
    info( fileName );
    info( 'Даты/вреям в формате ГГ ММ ДД / ЧЧ ММ СС' );
    info( strfmt("created  date/time %1/%2", date2str(WinAPI::getFileCreatedDate(fileName), 321,2,1,2,1,2), time2str(WinAPI::getFileCreatedTime(fileName), 3,1)));
    info( strfmt("modified date/time %1/%2", date2str(WinAPI::getFileModifiedDate(fileName),321,2,1,2,1,2), time2str(WinAPI::getFileModifiedTime(fileName),3,1)));
    info( strfmt("accessed date/time %1/%2", date2str(WinAPI::getFileAccessedDate(fileName),321,2,1,2,1,2), time2str(WinAPI::getFileAccessedTime(fileName),3,1)));
    info( 'Время "сейчас" в формате ЧЧ ММ СС' );
    info( time2str( WinAPI::systemTimeToTimeOfDay(WinAPI::getSystemTime()),3,1) );
}
На выходе получаем:
Код:
c:\testtime.txt
Даты/вреям в формате ГГ ММ ДД / ЧЧ ММ СС
created  date/time 06 09 04/14 29 12
modified date/time 06 09 04/14 29 12
accessed date/time 06 09 04/14 29 12
Время "сейчас" в формате ЧЧ ММ СС
14 29 12
При том что текущее время у меня на компе - 18:29 (UTC +03:00 +1 час за счет летнего времени).
Теги
time, winapi, время, файл

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Закупка на проект "Время и расходы" Sentry DAX: Функционал 6 19.02.2016 14:09
"An unexpected exception occurred" во время установки. Hub DAX: Администрирование 2 19.12.2009 12:09
Время по графику и фактическое время работы в табеле nicko DAX: Функционал 0 09.02.2005 15:24
Поле с типом "Время" Кирилл DAX: Программирование 9 06.05.2004 10:53
Установить время файла? SnowMan DAX: Программирование 5 01.10.2003 14:42

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

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

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