Mercurial > libpst
view src/timeconv.c @ 408:96291a790f35
Added tag stable-0-6-76 for changeset 24871e6cdd69
author | Carl Byington <carl@five-ten-sg.com> |
---|---|
date | Sat, 27 Mar 2021 14:57:47 -0700 |
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; }