diff options
author | Martin Ebourne <martin@ebourne.me.uk> | 2005-12-12 20:50:00 +0000 |
---|---|---|
committer | Martin Ebourne <martin@ebourne.me.uk> | 2005-12-12 20:50:00 +0000 |
commit | 3bedf8846f4d7a5cb38276b274662d62a36dcd52 (patch) | |
tree | 9d51de8b0f3d06ba6549a5a1958e52f592343140 /lib/common/BoxTimeToText.cpp | |
parent | 81d8eda2419e7a23088a98cdfc52a305c9ceac0d (diff) |
Marged chris/win32/merge/07-win32-fixes at r210 to trunk
Diffstat (limited to 'lib/common/BoxTimeToText.cpp')
-rwxr-xr-x | lib/common/BoxTimeToText.cpp | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/lib/common/BoxTimeToText.cpp b/lib/common/BoxTimeToText.cpp index 94b0d152..297d2100 100755 --- a/lib/common/BoxTimeToText.cpp +++ b/lib/common/BoxTimeToText.cpp @@ -27,14 +27,35 @@ // -------------------------------------------------------------------------- std::string BoxTimeToISO8601String(box_time_t Time) { +#ifdef WIN32 + struct tm *time; + box_time_t bob = BoxTimeToSeconds(Time); + + __time64_t winTime = bob; + + time = _gmtime64(&winTime); + char str[128]; // more than enough space + + if ( time == NULL ) + { + // ::sprintf(str, "%016I64x ", bob); + return std::string("unable to convert time"); + } + + sprintf(str, "%04d-%02d-%02dT%02d:%02d:%02d", time->tm_year + 1900, + time->tm_mon + 1, time->tm_mday, time->tm_hour, + time->tm_min, time->tm_sec); +#else // ! WIN32 time_t timeInSecs = (time_t)BoxTimeToSeconds(Time); struct tm time; gmtime_r(&timeInSecs, &time); char str[128]; // more than enough space sprintf(str, "%04d-%02d-%02dT%02d:%02d:%02d", time.tm_year + 1900, - time.tm_mon + 1, time.tm_mday, time.tm_hour, time.tm_min, time.tm_sec); - + time.tm_mon + 1, time.tm_mday, time.tm_hour, + time.tm_min, time.tm_sec); +#endif // WIN32 + return std::string(str); } |