| OLD | NEW | 
|   1  |   1  | 
|   2 /* |   2 /* | 
|   3  * Copyright 2009 The Android Open Source Project |   3  * Copyright 2009 The Android Open Source Project | 
|   4  * |   4  * | 
|   5  * Use of this source code is governed by a BSD-style license that can be |   5  * Use of this source code is governed by a BSD-style license that can be | 
|   6  * found in the LICENSE file. |   6  * found in the LICENSE file. | 
|   7  */ |   7  */ | 
|   8  |   8  | 
|   9  |   9  | 
|  10 #include "SkTime.h" |  10 #include "SkTime.h" | 
|  11  |  11  | 
|  12 void SkTime::GetDateTime(DateTime* dt) |  12 void SkTime::GetDateTime(DateTime* dt) | 
|  13 { |  13 { | 
|  14     if (dt) |  14     if (dt) | 
|  15     { |  15     { | 
|  16         SYSTEMTIME      st; |  16         SYSTEMTIME      st; | 
|  17         GetSystemTime(&st); |  17         TIME_ZONE_INFORMATION timeZoneInfo; | 
|  18  |  18         int tz_bias; | 
 |  19         GetLocalTime(&st); | 
 |  20         // https://gist.github.com/wrl/8924636 | 
 |  21         switch (GetTimeZoneInformation(&timeZoneInfo)) { | 
 |  22             case TIME_ZONE_ID_STANDARD: | 
 |  23                 tz_bias = -timeZoneInfo.Bias - timeZoneInfo.StandardBias; | 
 |  24                 break; | 
 |  25             case TIME_ZONE_ID_DAYLIGHT: | 
 |  26                 tz_bias = -timeZoneInfo.Bias - timeZoneInfo.DaylightBias; | 
 |  27                 break; | 
 |  28             default: | 
 |  29                 tz_bias = -timeZoneInfo.Bias; | 
 |  30                 break; | 
 |  31         } | 
 |  32         dt->fTimeZoneMinutes = SkToS16(tz_bias); | 
|  19         dt->fYear       = st.wYear; |  33         dt->fYear       = st.wYear; | 
|  20         dt->fMonth      = SkToU8(st.wMonth); |  34         dt->fMonth      = SkToU8(st.wMonth); | 
|  21         dt->fDayOfWeek  = SkToU8(st.wDayOfWeek); |  35         dt->fDayOfWeek  = SkToU8(st.wDayOfWeek); | 
|  22         dt->fDay        = SkToU8(st.wDay); |  36         dt->fDay        = SkToU8(st.wDay); | 
|  23         dt->fHour       = SkToU8(st.wHour); |  37         dt->fHour       = SkToU8(st.wHour); | 
|  24         dt->fMinute     = SkToU8(st.wMinute); |  38         dt->fMinute     = SkToU8(st.wMinute); | 
|  25         dt->fSecond     = SkToU8(st.wSecond); |  39         dt->fSecond     = SkToU8(st.wSecond); | 
|  26     } |  40     } | 
|  27 } |  41 } | 
|  28  |  42  | 
|  29 SkMSec SkTime::GetMSecs() |  43 SkMSec SkTime::GetMSecs() | 
|  30 { |  44 { | 
|  31     FILETIME        ft; |  45     FILETIME        ft; | 
|  32     LARGE_INTEGER   li; |  46     LARGE_INTEGER   li; | 
|  33     GetSystemTimeAsFileTime(&ft); |  47     GetSystemTimeAsFileTime(&ft); | 
|  34     li.LowPart  = ft.dwLowDateTime; |  48     li.LowPart  = ft.dwLowDateTime; | 
|  35     li.HighPart = ft.dwHighDateTime; |  49     li.HighPart = ft.dwHighDateTime; | 
|  36     __int64 t  = li.QuadPart;       /* In 100-nanosecond intervals */ |  50     __int64 t  = li.QuadPart;       /* In 100-nanosecond intervals */ | 
|  37     return (SkMSec)(t / 10000);               /* In milliseconds */ |  51     return (SkMSec)(t / 10000);               /* In milliseconds */ | 
|  38 } |  52 } | 
| OLD | NEW |