Retrieve the timezone bias in mktime via GetTimeZoneInformation

svn path=/trunk/; revision=42428
This commit is contained in:
Gregor Schneider 2009-08-06 15:18:24 +00:00
parent 7dc02145d2
commit 1a3dc30655

View file

@ -18,6 +18,8 @@ mktime_worker(struct tm * ptm, int utc)
struct tm *ptm2; struct tm *ptm2;
__time64_t time; __time64_t time;
int mons, years, leapyears; int mons, years, leapyears;
TIME_ZONE_INFORMATION tzi;
DWORD ret;
/* Normalize year and month */ /* Normalize year and month */
if (ptm->tm_mon < 0) if (ptm->tm_mon < 0)
@ -84,7 +86,11 @@ mktime_worker(struct tm * ptm, int utc)
*ptm = *ptm2; *ptm = *ptm2;
/* Finally adjust by the difference to GMT in seconds */ /* Finally adjust by the difference to GMT in seconds */
time += _timezone; ret = GetTimeZoneInformation(&tzi);
if (ret != TIME_ZONE_ID_INVALID)
{
time += tzi.Bias * 60;
}
return time; return time;
} }