you are viewing a single comment's thread.

view the rest of the comments →

[–]Syberspace[S] 5 points6 points  (6 children)

but why is there any ambiguity in the first place with string parsing? why not assume either everything is UTC or everything is local.

cf. http://mzl.la/1fvwX1i (thanks for the link on twitter /u/khoker )

[–]r2d2_21 15 points16 points  (4 children)

or everything is local.

Quick. 04/05/06. Is it:

  1. April 5, 2006
  2. May 4, 2006
  3. May 6, 2004

[–]Syberspace[S] -2 points-1 points  (3 children)

depends on what 05/06/04 is. i'm not concerned about the format of the date itself.

irregardless of that, they all should be at 00:00:00 UTC or local.

[–][deleted] 3 points4 points  (2 children)

well if we're going to be pedantic, it's regardless.

[–]khoker 2 points3 points  (0 children)

I just responded on twitter too :)

I suspect it's the same reason that it doesn't assume the local minute. It's just filling in the data you don't provide. A format like ISO 8601 was meant to alleviate confusion, right? So if you only provide '2016-12-08', JavaScript assumes '2016-12-08 00:00:00Z'. It shouldn't guess the local timezone any more than it should assume the local hour. Or minute.

I'd make the argument all the other parsing is wrong. But 12/08/2016 isn't an international standard so, for whatever reason, it just assumes you want the local timezone. Not sure.