summaryrefslogtreecommitdiff
path: root/lib/common/BoxTimeToText.cpp
diff options
context:
space:
mode:
authorMartin Ebourne <martin@ebourne.me.uk>2005-12-12 20:50:00 +0000
committerMartin Ebourne <martin@ebourne.me.uk>2005-12-12 20:50:00 +0000
commit3bedf8846f4d7a5cb38276b274662d62a36dcd52 (patch)
tree9d51de8b0f3d06ba6549a5a1958e52f592343140 /lib/common/BoxTimeToText.cpp
parent81d8eda2419e7a23088a98cdfc52a305c9ceac0d (diff)
Marged chris/win32/merge/07-win32-fixes at r210 to trunk
Diffstat (limited to 'lib/common/BoxTimeToText.cpp')
-rwxr-xr-xlib/common/BoxTimeToText.cpp25
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);
}