| Index: src/platform-win32.cc
|
| ===================================================================
|
| --- src/platform-win32.cc (revision 10923)
|
| +++ src/platform-win32.cc (working copy)
|
| @@ -66,16 +66,8 @@
|
|
|
|
|
| #ifndef __MINGW64_VERSION_MAJOR
|
| -
|
| -// Not sure this the correct interpretation of _mkgmtime
|
| -time_t _mkgmtime(tm* timeptr) {
|
| - return mktime(timeptr);
|
| -}
|
| -
|
| -
|
| #define _TRUNCATE 0
|
| #define STRUNCATE 80
|
| -
|
| #endif // __MINGW64_VERSION_MAJOR
|
|
|
|
|
| @@ -516,11 +508,13 @@
|
| // Convert to local time, as struct with fields for day, hour, year, etc.
|
| tm posix_local_time_struct;
|
| if (localtime_s(&posix_local_time_struct, &posix_time)) return 0;
|
| - // Convert local time in struct to POSIX time as if it were a UTC time.
|
| - time_t local_posix_time = _mkgmtime(&posix_local_time_struct);
|
| - Time localtime(1000.0 * local_posix_time);
|
|
|
| - return localtime.Diff(&rounded_to_second);
|
| + if (posix_local_time_struct.tm_isdst > 0)
|
| + return (tzinfo_.Bias + tzinfo_.DaylightBias) * -kMsPerMinute;
|
| + else if (posix_local_time_struct.tm_isdst == 0)
|
| + return (tzinfo_.Bias + tzinfo_.StandardBias) * -kMsPerMinute;
|
| + else
|
| + return tzinfo_.Bias * -kMsPerMinute;
|
| }
|
|
|
|
|
|
|