2012-09-21 18 views
9

DS.Model ayrıştırma tarihleri ​​ile "YYYY-AA-GG" biçiminde bir sorun yaşıyorum. Her zaman bir gün geride kalırlar. DS.Model date özniteliği ayrıştırma tarihi (YYYY-AA-GG) yanlış

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

bir kor hata ya bir javascript hata ya da bir Chrome hata ya am bu mu alıyorum benzer sonuçlar

konsolda tarihi nesneleri kullanma

http://jsfiddle.net/ZUV8v/

: Burada

bir örnektir Bir şey mi eksik?

Chrome Sürümü 21.0.1180.89 OSX 10.7

+0

Bunu hala JS keman'ınızla yeniden üretebiliyor musunuz? Aşağıdaki sonucu alıyorum ve doğru görünüyor: 'date: Per 20 Eylül 2012 03:00:00 GMT + 0300 (Arapça Standart Saati)'. –

+0

İçinde bulunduğunuz zaman dilimi nedeniyle tarihin sizin için doğru olduğuna inanıyorum. Bu yüzden, @jasolko'nun Javascript'in eksik değerleri sıfırlarla doldurduğunu ve ardından geçerli saat dilimine göre değerlendirdiğini söyledi. Benim durumumda Pasifik saat diliminde olmak, tarihi bir önceki güne taşıyarak 7 saat çıkarır. –

cevap

4

üzerine bunun sadece geçen gün karşılaştım.

AA veya GG alanlar olmaması durumunda bütün numaralar baz 10. olmalıdır ECMAScript Specification 15.9.1.15

göre, "01" değeri olarak kullanılır. HH, mm veya ss alanları yoksa "00" değeri kullanılır ve eksik sss alanının değeri "000" dir. Bir zaman dilimi ofseti ofsetinin değeri "Z" dir.

new Date('2012-09-20') 

konsolu daha sonra yerel saat diliminde değer verir

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

aynıdır.

+0

Tamam, bu mantıklı. Ember-data'nın tarihi farklı bir şekilde ayrıştırması mı yoksa json tarihinin her zaman zaman ve zaman dilimi mi içermesi gerektiğini düşünüyor musunuz? –

+0

Üzgünüz, genellikle hafta sonu buraya bakmıyorum. Zaman dilimini her zaman dahil etmenin mantıklı olduğunu düşünüyorum. Tek bir saat diliminde kalan ve bunu daha önce hiç düşünmemesi gereken uygulamalara her zaman yazarım. –

+0

no prob. Eğer bir datetime nesnesiyse katılıyorum ama javascript’te sadece nesnelerle ilgili iyi bir yol yoktur. Serileştirme ile ilgili yeni bir soru başlattım. http://stackoverflow.com/questions/12538242/serialize-date-attributes. Yardım için teşekkürler. –