Index: runtime/vm/os_macos.cc |
diff --git a/runtime/vm/os_macos.cc b/runtime/vm/os_macos.cc |
index d602485892e546c89b04c9053d7ac9ad6f208b85..3936e99e93ea46546e6623ca1749ec72d25977cc 100644 |
--- a/runtime/vm/os_macos.cc |
+++ b/runtime/vm/os_macos.cc |
@@ -60,6 +60,27 @@ bool OS::MkTime(tm* tm, int64_t* seconds_result) { |
} |
+bool OS::GetTimeZoneName(int64_t seconds_since_epoch, |
+ const char** name_result) { |
+ tm decomposed; |
+ bool succeeded = LocalTime(seconds_since_epoch, &decomposed); |
+ if (!succeeded) return false; |
+ *name_result = decomposed.tm_zone; |
+ return true; |
+} |
+ |
+ |
+bool OS::GetTimeZoneOffsetInSeconds(int64_t seconds_since_epoch, |
+ int* offset_result) { |
+ tm decomposed; |
+ bool succeeded = LocalTime(seconds_since_epoch, &decomposed); |
+ if (!succeeded) return false; |
+ // Even if the offset was 24 hours it would still easily fit into 32 bits. |
+ *offset_result = static_cast<int>(decomposed.tm_gmtoff); |
+ return true; |
+} |
+ |
+ |
int64_t OS::GetCurrentTimeMillis() { |
return GetCurrentTimeMicros() / 1000; |
} |