fix Win32 ngx_gettimezone()
diff --git a/src/os/win32/ngx_time.c b/src/os/win32/ngx_time.c
index 39ce633..798c143 100644
--- a/src/os/win32/ngx_time.c
+++ b/src/os/win32/ngx_time.c
@@ -60,11 +60,23 @@
ngx_int_t
ngx_gettimezone(void)
{
+ u_long n;
TIME_ZONE_INFORMATION tz;
- if (GetTimeZoneInformation(&tz) != TIME_ZONE_ID_INVALID) {
- return -tz.Bias;
- }
+ n = GetTimeZoneInformation(&tz);
- return 0;
+ switch (n) {
+
+ case TIME_ZONE_ID_UNKNOWN:
+ return -tz.Bias;
+
+ case TIME_ZONE_ID_STANDARD:
+ return -(tz.Bias + tz.StandardBias);
+
+ case TIME_ZONE_ID_DAYLIGHT:
+ return -(tz.Bias + tz.DaylightBias);
+
+ default: /* TIME_ZONE_ID_INVALID */
+ return 0;
+ }
}