1
0
mirror of https://github.com/jbranchaud/til synced 2026-01-04 23:58:01 +00:00

Add ISO-8601 Formatted Dates Are Interpreted As UTC as a javascript til

This commit is contained in:
jbranchaud
2017-12-04 22:10:00 -06:00
parent 1c02cc9605
commit 8d05a9a2f1
2 changed files with 30 additions and 1 deletions

View File

@@ -10,7 +10,7 @@ smart people at [Hashrocket](http://hashrocket.com/).
For a steady stream of TILs from a variety of rocketeers, checkout
[til.hashrocket.com](https://til.hashrocket.com/).
_591 TILs and counting..._
_592 TILs and counting..._
---
@@ -226,6 +226,7 @@ _591 TILs and counting..._
- [Immutable Remove With The Spread Operator](javascript/immutable-remove-with-the-spread-operator.md)
- [Initialize A New JavaScript Project With Yarn](javascript/initialize-a-new-javascript-project-with-yarn.md)
- [Install The Latest Version Of Node With Nvm](javascript/install-the-latest-version-of-node-with-nvm.md)
- [ISO-8601 Formatted Dates Are Interpreted As UTC](javascript/iso-8601-formatted-dates-are-interpreted-as-utc.md)
- [Matching Multiple Values In A Switch Statement](javascript/matching-multiple-values-in-a-switch-statement.md)
- [Numbers Are Empty](javascript/numbers-are-empty.md)
- [Object Initialization With Shorthand Property Names](javascript/object-initialization-with-shorthand-property-names.md)

View File

@@ -0,0 +1,28 @@
# ISO-8601 Formatted Dates Are Interpreted As UTC
Using `new Date()` or `Date.parse()` with a string that represents a date is
a great way to create a `Date` object for a specified date. A variety of
formats are accepted by these methods.
But, caution!
There are subtle differences in how those dates will be interpreted. Given
any old string that reasonably represents a date, the date will be
interpreted using the local time zone, in my case `CST`.
```javascript
> new Date('2017-12-4')
Mon Dec 04 2017 00:00:00 GMT-0600 (CST)
```
However, as soon as we use an ISO-8601 compliant date format, ECMAScript 5
specifies that the date ought to be interpreted using the UTC time zone. As
you can see, the results are drastic enough to affect what day it comes out
to.
```javascript
> new Date('2017-12-04')
Sun Dec 03 2017 18:00:00 GMT-0600 (CST)
```
[Source](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse#ECMAScript_5_ISO-8601_format_support)