/* * Copyright 2009 The Android Open Source Project * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #include "SkTypes.h" #if defined(SK_BUILD_FOR_WIN32) #include "SkTime.h" void SkTime::GetDateTime(DateTime* dt) { if (dt) { SYSTEMTIME st; TIME_ZONE_INFORMATION timeZoneInfo; int tz_bias; GetLocalTime(&st); // https://gist.github.com/wrl/8924636 switch (GetTimeZoneInformation(&timeZoneInfo)) { case TIME_ZONE_ID_STANDARD: tz_bias = -timeZoneInfo.Bias - timeZoneInfo.StandardBias; break; case TIME_ZONE_ID_DAYLIGHT: tz_bias = -timeZoneInfo.Bias - timeZoneInfo.DaylightBias; break; default: tz_bias = -timeZoneInfo.Bias; break; } dt->fTimeZoneMinutes = SkToS16(tz_bias); dt->fYear = st.wYear; dt->fMonth = SkToU8(st.wMonth); dt->fDayOfWeek = SkToU8(st.wDayOfWeek); dt->fDay = SkToU8(st.wDay); dt->fHour = SkToU8(st.wHour); dt->fMinute = SkToU8(st.wMinute); dt->fSecond = SkToU8(st.wSecond); } } #endif//defined(SK_BUILD_FOR_WIN32)