Mercurial > libpst
view src/timeconv.c @ 400:c6b10ac09bb6
Added tag stable-0-6-74 for changeset 05753b1906f9
author | Carl Byington <carl@five-ten-sg.com> |
---|---|
date | Sun, 12 Jan 2020 15:31:30 -0800 |
parents | ad7b880ad3d1 |
children |
line wrap: on
line source
#include "define.h" char* pst_fileTimeToAscii(const FILETIME* filetime, char* result) { time_t t; t = pst_fileTimeToUnixTime(filetime); return ctime_r(&t, result); } size_t pst_fileTimeToString(const FILETIME* filetime, const char* date_format, char* result) { time_t t; t = pst_fileTimeToUnixTime(filetime); return strftime(result, MAXDATEFMTLEN-1, date_format, localtime(&t)); } void pst_fileTimeToStructTM (const FILETIME *filetime, struct tm *result) { time_t t1; t1 = pst_fileTimeToUnixTime(filetime); gmtime_r(&t1, result); } time_t pst_fileTimeToUnixTime(const FILETIME *filetime) { uint64_t t = filetime->dwHighDateTime; const uint64_t bias = 11644473600LL; t <<= 32; t += filetime->dwLowDateTime; t /= 10000000; t -= bias; return ((t > (uint64_t)0x000000007fffffff) && (sizeof(time_t) <= 4)) ? 0 : (time_t)t; }