В настоящее время вы работаете в автономном режиме; ожидается повторное подключение к Интернету

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

ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.

Эта статья на английском языке:167296
Аннотация
В списке платформ 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-разрядное значение и FILETIME64-разрядные структуры, поэтому использовать функцию 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);   }				
BSE время tm filetime systemtime crt

Свойства

Номер статьи: 167296 — последний просмотр: 06/03/2011 09:21:00 — редакция: 4.0

Microsoft Win32 Application Programming Interface

  • kbdatetime kbhowto kbkernbase kbprogramming kbmt KB167296 KbMtru
Отзывы и предложения