2012-09-21 8 views
9

DS.Modelの解析日に「YYYY-MM-DD」の形式で問題が発生しています。彼らはいつも一日遅れている。ここでDS.Modelの日付属性が日付(YYYY-MM-DD)を正しく解析しない

は一例です:

コンソールにDateオブジェクトを使用して

http://jsfiddle.net/ZUV8v/

私は、同様の結果

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

を取得し、これは燃えさしのバグやJavaScriptバグやChromeのバグまたは午前です私は何かを欠いている?

はクロームバージョン21.0.1180.89はOSX 10.7

+0

あなたはまだJSフィドルでこれを再現できますか?私は以下の結果を得て、それは正しいようです: 'date:Thu Sep 20 2012 03:00:00 GMT + 0300(アラビア語標準時)'。 –

+0

あなたはあなたのタイムゾーンのために日付が正しいと思います。@ジャスルコは、Javascriptは欠損値をゼロで埋めて、現在のタイムゾーンに基づいてそれを評価すると言います。私の場合、太平洋の時間帯にいることは、前日に日付を移動する7時間を引く。 –

答えて

4

に私はこれだけで、他の日に走りました。

は、MMまたはDDフィールドが存在しない場合は、すべての数字は、ベース10でなければならないECMAScript Specification 15.9.1.15

による「01」の値として使用されます。 HH、mm、またはssフィールドがない場合、値として「00」が使用され、不在のsssフィールドの値は「000」です。不在タイムゾーンオフセットの値は "Z"です。

new Date('2012-09-20') 

コンソールは、あなたのローカルタイムゾーンで値を出力

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

と同じです。

+0

これは意味があります。 ember-dataは日付を別に解析する必要があると思いますか、またはjsonの日付の値には常に時間とタイムゾーンを含める必要がありますか? –

+0

申し訳ありませんが、私は週末にここを見ていません。タイムゾーンを常に含めることが理にかなっていると思います。私はこれまでに1つのタイムゾーンに留まり、以前はこれを考える必要がなかった社内のアプリケーションしか書いていません。 –

+0

probはありません。それはdatetimeオブジェクトの場合私は同意するが、それは良い方法は、javascriptの日付のみのオブジェクトを行うにはないようだ。私はシリアライゼーションに関する新しい質問を始めました。 http://stackoverflow.com/questions/12538242/serialize-date-attributes助けてくれてありがとう。 –

関連する問題