Skip to content

Commit

Permalink
Merge pull request #78 from jonathanperret/fix-tzoffset
Browse files Browse the repository at this point in the history
Fix reversed application of timezone offset (#77)
  • Loading branch information
jeremyfa committed Mar 31, 2017
2 parents d6e9f2f + bfde7ad commit e1796d4
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 13 deletions.
2 changes: 1 addition & 1 deletion src/Utils.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -266,7 +266,7 @@ class Utils
# Compute date
date = new Date Date.UTC(year, month, day, hour, minute, second, fraction)
if tz_offset
date.setTime date.getTime() + tz_offset
date.setTime date.getTime() - tz_offset

return date

Expand Down
24 changes: 12 additions & 12 deletions test/spec/YamlSpec.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -413,21 +413,21 @@ describe 'Parsed YAML Basic Types', ->
iso8601Date.setTime iso8601Date.getTime() - 5 * 3600 * 1000

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

withDatesToTime = (input) ->
res = {}
for key, val of input
res[key] = Math.round(val.getTime() / 1000) * 1000
res[key] = val.getTime()
return res

expect withDatesToTime(YAML.parse """
iso8601: 2001-12-14t21:59:43.10-05:00
space seperated: 2001-12-14 21:59:43.10 -05:00
iso8601: 2001-12-14t21:59:43.010+05:00
space separated: 2001-12-14 21:59:43.010 -05:00
""")
.toEqual withDatesToTime (
'iso8601': iso8601Date
'space seperated': spaceSeparatedDate
'space separated': spaceSeparatedDate
)


Expand All @@ -439,7 +439,7 @@ describe 'Parsed YAML Basic Types', ->
return input
res = {}
for key, val of input
res[key] = Math.round(val.getTime() / 1000) * 1000
res[key] = val.getTime()
return res

expect withDatesToTime(YAML.parse """
Expand Down Expand Up @@ -1151,24 +1151,24 @@ describe 'Dumped YAML Basic Types', ->
it 'can be time', ->

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

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

withDatesToTime = (input) ->
res = {}
for key, val of input
res[key] = Math.round(val.getTime() / 1000) * 1000
res[key] = val.getTime()
return res

expect withDatesToTime(YAML.parse """
iso8601: 2001-12-14t21:59:43.10-05:00
space seperated: 2001-12-14 21:59:43.10 -05:00
iso8601: 2001-12-14t21:59:43.010-05:00
space separated: 2001-12-14 21:59:43.010 +05:00
""")
.toEqual YAML.parse YAML.dump withDatesToTime (
'iso8601': iso8601Date
'space seperated': spaceSeparatedDate
'space separated': spaceSeparatedDate
)


Expand All @@ -1180,7 +1180,7 @@ describe 'Dumped YAML Basic Types', ->
return input
res = {}
for key, val of input
res[key] = Math.round(val.getTime() / 1000) * 1000
res[key] = val.getTime()
return res

expect withDatesToTime(YAML.parse """
Expand Down

0 comments on commit e1796d4

Please sign in to comment.