diff options
Diffstat (limited to 'src/ports/SkTime_Unix.cpp')
-rw-r--r-- | src/ports/SkTime_Unix.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/ports/SkTime_Unix.cpp b/src/ports/SkTime_Unix.cpp index 6e305a16f6..2d5fa279b4 100644 --- a/src/ports/SkTime_Unix.cpp +++ b/src/ports/SkTime_Unix.cpp @@ -16,11 +16,15 @@ void SkTime::GetDateTime(DateTime* dt) { if (dt) { + tzset(); // initialize timezone variable; time_t m_time; time(&m_time); struct tm* tstruct; tstruct = localtime(&m_time); + int offset = tstruct->tm_isdst == 1 ? 60 : 0; + // http://pubs.opengroup.org/onlinepubs/009695399/basedefs/time.h.html + dt->fTimeZoneMinutes = SkToS16(offset - timezone / 60); dt->fYear = tstruct->tm_year + 1900; dt->fMonth = SkToU8(tstruct->tm_mon + 1); dt->fDayOfWeek = SkToU8(tstruct->tm_wday); |