各データ形式によって精度・表現できる範囲が違っています。 ここで紹介するプログラムではオーバーフローなどのチェックは行っていませんので, その点は注意してください。 // time_t -> FILETIME 変換 FILETIME UnixTimeToFileTime(time_t t){ FILETIME ft; LONGLONG ll = Int32x32To64(t, 10000000) + 116444736000000000; ft.dwLowDateTime = (DWORD)ll; ft.dwHighDateTime = (DWORD)(ll >> 32); return ft; } // time_t -> SYSTEMTIME 変換 SYSTEMTIME UnixTimeToSystemTime(time_t t){ SYSTEMTIME st; FILETIME ft