Skip to content

Commit 9b28474

Browse files
Fix reversed application of timezone offset (#77)
Fixes #77. Also makes rounding unnecessary in tests by fixing fractional seconds in test data.
1 parent 97d39b6 commit 9b28474

File tree

2 files changed

+11
-11
lines changed

2 files changed

+11
-11
lines changed

src/Utils.coffee

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,7 @@ class Utils
258258
# Compute date
259259
date = new Date Date.UTC(year, month, day, hour, minute, second, fraction)
260260
if tz_offset
261-
date.setTime date.getTime() + tz_offset
261+
date.setTime date.getTime() - tz_offset
262262

263263
return date
264264

test/spec/YamlSpec.coffee

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -413,17 +413,17 @@ describe 'Parsed YAML Basic Types', ->
413413
iso8601Date.setTime iso8601Date.getTime() - 5 * 3600 * 1000
414414

415415
spaceSeparatedDate = new Date Date.UTC(2001, 12-1, 14, 21, 59, 43, 10)
416-
spaceSeparatedDate.setTime spaceSeparatedDate.getTime() - 5 * 3600 * 1000
416+
spaceSeparatedDate.setTime spaceSeparatedDate.getTime() + 5 * 3600 * 1000
417417

418418
withDatesToTime = (input) ->
419419
res = {}
420420
for key, val of input
421-
res[key] = Math.round(val.getTime() / 1000) * 1000
421+
res[key] = val.getTime()
422422
return res
423423

424424
expect withDatesToTime(YAML.parse """
425-
iso8601: 2001-12-14t21:59:43.10-05:00
426-
space seperated: 2001-12-14 21:59:43.10 -05:00
425+
iso8601: 2001-12-14t21:59:43.010+05:00
426+
space seperated: 2001-12-14 21:59:43.010 -05:00
427427
""")
428428
.toEqual withDatesToTime (
429429
'iso8601': iso8601Date
@@ -439,7 +439,7 @@ describe 'Parsed YAML Basic Types', ->
439439
return input
440440
res = {}
441441
for key, val of input
442-
res[key] = Math.round(val.getTime() / 1000) * 1000
442+
res[key] = val.getTime()
443443
return res
444444

445445
expect withDatesToTime(YAML.parse """
@@ -1148,20 +1148,20 @@ describe 'Dumped YAML Basic Types', ->
11481148
it 'can be time', ->
11491149

11501150
iso8601Date = new Date Date.UTC(2001, 12-1, 14, 21, 59, 43, 10)
1151-
iso8601Date.setTime iso8601Date.getTime() - 5 * 3600 * 1000
1151+
iso8601Date.setTime iso8601Date.getTime() + 5 * 3600 * 1000
11521152

11531153
spaceSeparatedDate = new Date Date.UTC(2001, 12-1, 14, 21, 59, 43, 10)
11541154
spaceSeparatedDate.setTime spaceSeparatedDate.getTime() - 5 * 3600 * 1000
11551155

11561156
withDatesToTime = (input) ->
11571157
res = {}
11581158
for key, val of input
1159-
res[key] = Math.round(val.getTime() / 1000) * 1000
1159+
res[key] = val.getTime()
11601160
return res
11611161

11621162
expect withDatesToTime(YAML.parse """
1163-
iso8601: 2001-12-14t21:59:43.10-05:00
1164-
space seperated: 2001-12-14 21:59:43.10 -05:00
1163+
iso8601: 2001-12-14t21:59:43.010-05:00
1164+
space seperated: 2001-12-14 21:59:43.010 +05:00
11651165
""")
11661166
.toEqual YAML.parse YAML.dump withDatesToTime (
11671167
'iso8601': iso8601Date
@@ -1177,7 +1177,7 @@ describe 'Dumped YAML Basic Types', ->
11771177
return input
11781178
res = {}
11791179
for key, val of input
1180-
res[key] = Math.round(val.getTime() / 1000) * 1000
1180+
res[key] = val.getTime()
11811181
return res
11821182

11831183
expect withDatesToTime(YAML.parse """

0 commit comments

Comments
 (0)