Как преобразовать UNIX time_t в Win32 FILETIME или SYSTEMTIME

Переводы статьи Переводы статьи
Код статьи: 167296 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

Аннотация

В списке платформ UNIX времени файлов сохраняются в формате ANSI C времени выполнения арифметический тип с именем «time_t», который представляет собой секунд с момента полуночи 1 января 1970 года временем по Гринвичу (UTC).

В списке платформ Win32 времени файлов сохраняются в первую очередь в виде структуры FILETIME 64 бит, который представляет количество 100-наносекундных интервалов с 1 января 1601 г. UTC (координат всемирное время).

В этой статье показано, как преобразовать время UNIX в другие форматы времени Win32.

Дополнительная информация

Следующая функция преобразует filetime в формате UNIX time_t Формат Win32 FILETIME. Обратите внимание, что time_t представляет собой 32-разрядное значение и FILETIME 64-разрядные структуры, поэтому использовать функцию Win32, Int32x32To64() в следующие функции:
   #include <winbase.h>
   #include <winnt.h>
   #include <time.h>

   void UnixTimeToFileTime(time_t t, LPFILETIME pft)
   {
     // Note that LONGLONG is a 64-bit value
     LONGLONG ll;

     ll = Int32x32To64(t, 10000000) + 116444736000000000;
     pft->dwLowDateTime = (DWORD)ll;
     pft->dwHighDateTime = ll >> 32;
   }
				
После преобразования структуру FILETIME времени UNIX других время Win32 форматы можно легко получить с помощью функции Win32, например FileTimeToSystemTime() и FileTimeToDosDateTime().
   void UnixTimeToSystemTime(time_t t, LPSYSTEMTIME pst)
   {
     FILETIME ft;

     UnixTimeToFileTime(t, &ft);
     FileTimeToSystemTime(&ft, pst);
   }
				

Свойства

Код статьи: 167296 - Последний отзыв: 3 июня 2011 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Win32 Application Programming Interface на следующих платформах
    • Microsoft Windows 98 Standard Edition
    • операционная система Microsoft Windows Millennium Edition
Ключевые слова: 
kbdatetime kbhowto kbkernbase kbprogramming kbmt KB167296 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:167296

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com