2014-07-14 31 views
7

Her tarih verisini yeni Tarih(). ToISOString() kullanarak ISO formatında saklarız.node.js, ISOString tarihini ayrıştırılamıyor mu?

Bu ISO biçimlendirilmiş tarihi node.js içinde Date nesnesine dönüştürmeye çalıştım ancak Geçersiz Tarih yanıtı alıyorum.

tarih dizesi isoDate = 2014-07-09T14:00:00.000Z ve ben Date.parse(isoDate); ve new Date(isoDate); üzerinde console.log yaptım ama her NaN ve Invalid Date döndürür.

Tarih dizesinde görünmeyen yanlış karakterler içerip içermediğini kontrol ettim, ancak bunlar iyi ve tarayıcı konsolunda dönüştürülebilir.

Bu, dizeyi el ile dönüştürmek ve ayrıştırılmış dizeyle Date nesnesini oluşturmak için ihtiyacım var mı?

Okumak için teşekkürler.

+0

İşleri gayet ... Eğer isoDate bir dize olduğundan emin misiniz? (ve - örneğin - bir Tampon) – Bart

+0

Evet, sadece yazdığını kontrol ettim dize. Bu sürüm özel olabilir mi? Şu an 0.10.29 kullanıyoruz. –

+0

Aynı sürümü kullanıyorum. Her durumda, bu düğümün herhangi bir sürümünde çalışması gerekir ... – Bart

cevap

1

moment kütüphanesini kullanmayı deneyin. Tarihlerle çalışmak için birçok işleve sahiptir ve hem istemci hem de sunucu tarafında kolayca kullanılabilir. moment("2014-07-09T14:00:00.000Z").toDate() numaralı telefonu çağırmak, bu kütüphaneyi kullanarak dizginizi bir Tarih JavaScript Nesnesine dönüştürür.

0

Bu yanıtı, birinin benim yaptığım gibi deneyimlemesi durumunda yayınlarım. Bana ne oldu

Ben buldum ağ denetçisi kontrol ederken aslında parametresi

olarak bir an örneğini gönderdiğini tarayıcısı

{ 
    startDate: date.startDate 
} 

bir ISOString gönderdiğini düşündü olduğunu gönderilen veri olduğuna dikkat ISO biçiminde olduğunu - evet, ama çift tırnak "" içine alınır

{ 
    startDate: "2016-12-31T16:00:00.000Z" 
} 
o çift qoutes ve shou içine alınması gerektiğini

benim için çalıştı bu ne

{ 
    startDate: 2016-12-31T16:00:00.000Z 
} 

gibi ld bakmak iso dizeye anı ayrıştırmak olduğunu

burada
{ 
    startDate: date.startDate.toISOString() 
}