From 397eb175cdd427a2bd531a59da2c556b0ed6d23f Mon Sep 17 00:00:00 2001 From: Raimund Bauer Date: Wed, 28 Dec 2016 09:26:28 +0100 Subject: [PATCH] Fix offset for format %z --- strftime.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/strftime.js b/strftime.js index c487a17..179f195 100644 --- a/strftime.js +++ b/strftime.js @@ -156,7 +156,7 @@ var timestamp; if (!date) { - var currentTimestamp = Date.now(); + var currentTimestamp = Date.now(), origOff = 0; if (currentTimestamp > _cachedDateTimestamp) { _cachedDateTimestamp = currentTimestamp; _cachedDate = new Date(_cachedDateTimestamp); @@ -168,11 +168,13 @@ // we tied to getTimezoneOffset of the current date //_cachedDate = new Date(_cachedDateTimestamp + getTimestampToUtcOffsetFor(_cachedDate) + _customTimezoneOffset); } else { + origOff = _cachedDate.getTimezoneOffset() * -60000; _cachedDate = new Date(_cachedDateTimestamp - getTimestampToUtcOffsetFor(_cachedDate) - _customTimezoneOffset); + _customTimezoneOffset = origOff; } } else { - timestamp = _cachedDateTimestamp; + timestamp = _cachedDateTimestamp; } date = _cachedDate; } @@ -182,7 +184,9 @@ if (_useUtcBasedDate) { //date = new Date(date.getTime() + getTimestampToUtcOffsetFor(date) + _customTimezoneOffset); } else { + origOff = date.getTimezoneOffset() * -60000; date = new Date(date.getTime() - getTimestampToUtcOffsetFor(date) - _customTimezoneOffset); + _customTimezoneOffset = origOff; } }