00001 #include "define.h" 00002 00003 00004 00005 char * pst_fileTimeToAscii(const FILETIME* filetime) { 00006 time_t t; 00007 t = pst_fileTimeToUnixTime(filetime); 00008 return ctime(&t); 00009 } 00010 00011 00012 struct tm * pst_fileTimeToStructTM (const FILETIME *filetime) { 00013 time_t t1; 00014 t1 = pst_fileTimeToUnixTime(filetime); 00015 return gmtime(&t1); 00016 } 00017 00018 00019 time_t pst_fileTimeToUnixTime(const FILETIME *filetime) 00020 { 00021 int64_t t = filetime->dwHighDateTime; 00022 t <<= 32; 00023 t += filetime->dwLowDateTime; 00024 t -= 116444736000000000LL; 00025 if (t < 0) { 00026 return -1 - ((-t - 1) / 10000000); 00027 } 00028 else { 00029 return t / 10000000; 00030 } 00031 } 00032
1.3.9.1