Шаг 141 - WINAPI и время

WIN 32 API поддерживает пять форматов времени, и функции для получения времени и преобразования форматов с учетом часовых поясов. Вот эти типы.

System	SYSTEMTIME  		Года, месяц, день, час, секунда, и миллисекунды,
				взятые с внутренних аппаратных часов.
File	FILETIME			100-наносекунд интервалов 1 Января, 1601.
Local	SYSTEMTIME ИЛИ FILETIME	Системное время или файловое время преобразованное
				в локальное время с учетом  часовых поясов.
MS-DOS	WORD			Упакованное 16-битовое слово для даты другое для времени.
Windows	DWORD 			Количество миллисекунд с тех пор как загруженная система;
				повторяется каждые 49.7 дней.

Как видите у нас время храниться в WORD, DWROD и еще есть две струтуры. Структура SYSTEMTIME хранит дату и время используя отдельные поля для месяца, дня, года, дня недели, часа, минут, секунд и миллисекунд.

typedef struct _SYSTEMTIME 
{
	WORD wYear;		// Указывает текущий год
	WORD wMonth;		// Текущий месяц; Январь = 1, Февраль = 2, и так далее
	WORD wDayOfWeek;		// Текущий день недели; Воскресенье = 0, Понедельник = 1, и так далее. 
	WORD wDay;		// Текущий день месяца.
	WORD wHour;		// Час.
	WORD wMinute;		// Минуты.
	WORD wSecond;		// Секунды.
	WORD wMilliseconds;	// Миллисекунды.
} SYSTEMTIME;

Структура FILETIME - это 64-х разрядное значение, представляющее число сто-наносекундных интервалов, прошедших с первого Января 1601 года:

typedef struct _FILETIME 
{
	DWORD dwLowDateTime; 	// Младшие 32 бита времени файла 
	DWORD dwHighDateTime;	// Старшие 32 бита времени файла
} FILETIME; 

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.