aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkTime.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/SkTime.cpp')
-rw-r--r--src/core/SkTime.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/core/SkTime.cpp b/src/core/SkTime.cpp
new file mode 100644
index 0000000000..b8e42365ef
--- /dev/null
+++ b/src/core/SkTime.cpp
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2015 Google Inc.
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include "SkString.h"
+#include "SkTime.h"
+
+void SkTime::DateTime::toISO8601(SkString* dst) const {
+ if (dst) {
+ int timeZoneMinutes = SkToInt(fTimeZoneMinutes);
+ char timezoneSign = timeZoneMinutes >= 0 ? '+' : '-';
+ int timeZoneHours = abs(timeZoneMinutes) / 60;
+ timeZoneMinutes = abs(timeZoneMinutes) % 60;
+ dst->printf("%04u-%02u-%02uT%02u:%02u:%02u%c%02d:%02d",
+ static_cast<unsigned>(fYear), static_cast<unsigned>(fMonth),
+ static_cast<unsigned>(fDay), static_cast<unsigned>(fHour),
+ static_cast<unsigned>(fMinute),
+ static_cast<unsigned>(fSecond), timezoneSign, timeZoneHours,
+ timeZoneMinutes);
+ }
+}