{
FILETIME ft;
LONGLONG ll = Int32x32To64(t, 10000000) + 116444736000000000;
ft.dwLowDateTime = (DWORD) ll;
ft.dwHighDateTime = (DWORD)(ll >> 32);
FileTimeToSystemTime( &ft, pst );
}
void SystemTimeToTimet( SYSTEMTIME st, time_t *pt )
{
FILETIME ft;
SystemTimeToFileTime( &st, &ft );
LONGLONG ll;
ULARGE_INTEGER ui;
ui.LowPart = ft.dwLowDateTime;
ui.HighPart = ft.dwHighDateTime;
ll = (ft.dwHighDateTime << 32) + ft.dwLowDateTime;
*pt = (DWORD)((LONGLONG)(ui.QuadPart - 116444736000000000) / 10000000);
}
本文提供了两个用于时间戳与系统时间相互转换的函数实现。一个是将time_t类型的时间戳转换为SYSTEMTIME类型的函数TimetToSystemTime,另一个是将SYSTEMTIME类型的时间转换为time_t类型的时间戳的函数SystemTimeToTimet。
1382

被折叠的 条评论
为什么被折叠?



