| Index: src/date.js
|
| ===================================================================
|
| --- src/date.js (revision 4331)
|
| +++ src/date.js (working copy)
|
| @@ -588,6 +588,20 @@
|
|
|
|
|
| function LocalTimezoneString(time) {
|
| + var old_timezone = timezone_cache_timezone;
|
| + var timezone = LocalTimezone(time);
|
| + if (old_timezone && timezone != old_timezone) {
|
| + // If the timezone string has changed from the one that we cached,
|
| + // the local time offset may now be wrong. So we need to update it
|
| + // and try again.
|
| + local_time_offset = %DateLocalTimeOffset();
|
| + // We also need to invalidate the DST cache as the new timezone may have
|
| + // different DST times.
|
| + var dst_cache = DST_offset_cache;
|
| + dst_cache.start = 0;
|
| + dst_cache.end = -1;
|
| + }
|
| +
|
| var timezoneOffset =
|
| (DaylightSavingsOffset(time) + local_time_offset) / msPerMinute;
|
| var sign = (timezoneOffset >= 0) ? 1 : -1;
|
| @@ -595,7 +609,7 @@
|
| var min = FLOOR((sign * timezoneOffset)%60);
|
| var gmt = ' GMT' + ((sign == 1) ? '+' : '-') +
|
| TwoDigitString(hours) + TwoDigitString(min);
|
| - return gmt + ' (' + LocalTimezone(time) + ')';
|
| + return gmt + ' (' + timezone + ')';
|
| }
|
|
|
|
|
|
|