1 // Windows/TimeUtils.h 2 3 #ifndef __WINDOWS_TIME_UTILS_H 4 #define __WINDOWS_TIME_UTILS_H 5 6 #include "../Common/MyTypes.h" 7 #include "../Common/MyWindows.h" 8 9 namespace NWindows { 10 namespace NTime { 11 12 bool DosTimeToFileTime(UInt32 dosTime, FILETIME &fileTime) throw(); 13 bool FileTimeToDosTime(const FILETIME &fileTime, UInt32 &dosTime) throw(); 14 15 // UInt32 Unix Time : for dates 1970-2106 16 UInt64 UnixTimeToFileTime64(UInt32 unixTime) throw(); 17 void UnixTimeToFileTime(UInt32 unixTime, FILETIME &fileTime) throw(); 18 19 // Int64 Unix Time : negative values for dates before 1970 20 UInt64 UnixTime64ToFileTime64(Int64 unixTime) throw(); 21 bool UnixTime64ToFileTime(Int64 unixTime, FILETIME &fileTime) throw(); 22 23 bool FileTimeToUnixTime(const FILETIME &fileTime, UInt32 &unixTime) throw(); 24 Int64 FileTimeToUnixTime64(const FILETIME &ft) throw(); 25 26 bool GetSecondsSince1601(unsigned year, unsigned month, unsigned day, 27 unsigned hour, unsigned min, unsigned sec, UInt64 &resSeconds) throw(); 28 void GetCurUtcFileTime(FILETIME &ft) throw(); 29 30 }} 31 32 #endif 33