Assume local timezone when unspecified - #124
Open
jugglinmike wants to merge 2 commits into
Open
Conversation
In ECMAScript 6, the Date constructor will interpret ISO 8601 Date strings in the local system time zone when no time zone is specified. This is in contrast to the behavior in ECMAScript 5.1, where UTC is assumed. Mimic the future behavior so that clients behave consistently across platforms.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The behavior of the Date constructor is changing in ECMAScript 6: Date strings that do not specify a time zone will be interpreted in the local time (and not as GMT). This will cause Ampersand State's built-in
datedata type to behave inconsistently across platforms.This patch ensures consistency by explicitly interpreting Date strings without a time zone in the local system time in ECMAScript 5 environments. This should be considered a breaking change, which I recognize is a point against it. It would certainly be possible to avoid the break by instead patching the
datedata type to maintain its current behavior in ES6 environments, but I think that would be a nearsighted solution for two reasons:Dateconstructor behavior and come to expect it from abstractions that use it.Commit message: