| 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; | 
| } | 
|  |