Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

DS.Model date attribute parses date (YYYY-MM-DD) incorrectly

I am having a issue with my DS.Model parsing dates in the format of "YYYY-MM-DD". They are always one day behind.

Here is an example:

http://jsfiddle.net/ZUV8v/

Using Date objects on the console I get similar results

> new Date('2012-09-20')
Wed Sep 19 2012 17:00:00 GMT-0700 (PDT)

Is this a ember bug or a javascript bug or a Chrome bug or am I missing something?

Chrome Version 21.0.1180.89 on OSX 10.7

like image 208
Aaron Renoir Avatar asked Sep 21 '12 02:09

Aaron Renoir


1 Answers

I ran into this just the other day.

According to the ECMAScript Specification 15.9.1.15

All numbers must be base 10. If the MM or DD fields are absent "01" is used as the value. If the HH, mm, or ss fields are absent "00" is used as the value and the value of an absent sss field is "000". The value of an absent time zone offset is "Z".

new Date('2012-09-20')

is the same as

new Date("2012-09-20T00:00:00.000Z")

The console then outputs the value in your local timezone.

like image 124
Jason P Avatar answered Nov 06 '22 09:11

Jason P