Показать сообщение отдельно
Старый 01.09.2006, 13:41   #1  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
? Время созданного "сейчас" файла меньше timenow на 4 часа
Уважаемые коллеги, такая проблема. Даже две.
Есть такой тестовый джоб:
X++:
static void KKu_Job_6901_TestFileTime(Args _args)
{
    FileName fileName = 'C:\\testtime.txt';
    ;
    
    if (WinAPI::fileExists( fileName ))
        WinAPI::deleteFile( fileName );
    
    WinAPI::createFile( fileName );
    
    info( fileName );
    
    info( 'Даты в формате ГГ ММ ДД' );
    info( date2str(WinAPI::getFileCreatedDate ( fileName ) ,321,2,1,2,1,2) );
    info( date2str(WinAPI::getFileModifiedDate( fileName ) ,321,2,1,2,1,2) );
    info( date2str(WinAPI::getFileAccessedDate( fileName ) ,321,2,1,2,1,2) );
    
    info( 'Время в формате ЧЧ ММ СС' );
    info( time2str(WinAPI::getFileCreatedTime ( fileName ) ,3,1) );
    info( time2str(WinAPI::getFileModifiedTime( fileName ) ,3,1) );
    info( time2str(WinAPI::getFileAccessedTime( fileName ) ,3,1) );
    
    info( 'Время "сейчас" в формате ЧЧ ММ СС' );
    info( time2str( timenow(),3,1) );
}
Запускаю джоб 1-й раз. Получаю в инфологе:
Код:
C:\testtime.txt
Даты в формате ГГ ММ ДД
06 09 01
06 09 01
06 09 01
Время в формате ЧЧ ММ СС
09 21 06
09 21 06
09 21 06
Время "сейчас" в формате ЧЧ ММ СС
13 21 06
1-й вопрос: что это за 4 часа разницы, т.е. 13-9 ? Гринвич? UNIX-time? (любопытно, какая разница получится у других часовых поясов - отличная от 4?)
И как бороться? Просто тупо учитывать константой "4 часа" в коде или есть какая-нибудь специальная функция для такой коррекции?

Это еще не всё. По ходу возник второй вопрос. Напомню, что файл уже существует и я хочу его удалить и создать заново.
Запускаю джоб 2-й раз. Получаю в инфологе:
Код:
C:\testtime.txt
Даты в формате ГГ ММ ДД
 
 
 
Время в формате ЧЧ ММ СС
00 00 00
00 00 00
00 00 00
Время "сейчас" в формате ЧЧ ММ СС
13 22 23
Иду смотреть файл в Проводнике. Он существует, но как-то "странно"... На попытку удалить в Проводнике ругается, что занят другим процессом. Выхожу из Аксапты - файл запоздало исчезает.
2-й вопрос: Как этот файл освободить, не выходя из Аксапты?


Всем откликнувшимся заранее большое спасибо.