fix strftimeUTC("%s") (closes #7)

This commit is contained in:
Andrew Schaaf 2011-06-07 15:22:00 -04:00
parent c5362e748c
commit 314603eefe
2 changed files with 5 additions and 2 deletions

View file

@ -86,8 +86,10 @@
d = d || new Date();
locale = locale || DefaultLocale;
locale.formats = locale.formats || {}
var msDelta = 0;
if (_useUTC) {
d = new Date(d.getTime() + ((d.getTimezoneOffset() || 0) * 60000));
msDelta = (d.getTimezoneOffset() || 0) * 60000;
d = new Date(d.getTime() + msDelta);
}
// Most of the specifiers supported by C's strftime
@ -113,7 +115,7 @@
case 'R': return strftime(locale.formats.R || '%H:%M', d, locale);
case 'r': return strftime(locale.formats.r || '%I:%M:%S %p', d, locale);
case 'S': return pad(d.getSeconds());
case 's': return Math.floor(d.getTime() / 1000);
case 's': return Math.floor((d.getTime() - msDelta) / 1000);
case 'L': return pad3(Math.floor(d.getTime() % 1000));
case 'T': return strftime(locale.formats.T || '%H:%M:%S', d, locale);
case 't': return '\t';

View file

@ -36,3 +36,4 @@ for [format, expectedNonUTC, expectedUTC] in TESTS
got = lib[name] format, t
assert.equal expected, got, "Error for #{name}(#{JSON.stringify(format)}, t): expected #{JSON.stringify(expected)}, got #{JSON.stringify(got)}"
console.log "OK"