2016-04-13 12 views
0

Bir dizeden yeni bir Tarih Nesnesi oluşturduğumda bir gün yanlış bir tarih alıyorum ve nedenini anlamıyorum. Zaten doğruladım, zaman dilimi farkından gelmiyor.Neden yeni Date() bir günlük offset ile bir tarih döndürüyor?

var myDate new Date("2016-04-12T22:04:00.000Z") 
console.log(myDate); 
Wed Apr 13 2016 00:04:00 GMT+0200 (Central European Summertime) 
+0

zaman dilimleri UTC dizesini ..... –

+4

alabilirsiniz 10:04 gibi. – Lloyd

+0

UTC'de tutmanın bir yolu var mı? – juleee

cevap

0

Sorun, saat dilimlerdir. UTC’de 22:04:00 00:00:00, UTC + 2’de.

UTC saatini almak için tarih parçalarını myDate.getUTCHours(), mydate.getUTCMinutes() vb. Ile alın. Bkz. Bir full list of Date methods.

0

o UTC yerel saate dönüştürerek Çünkü bu size ertesi gün içine rulo yüzden +2 olduğu yönündeki gibi, senin Tarih-

var myDate=new Date("2016-04-12T22:04:00.000Z"); 

myDate.toUTCString() 
/* returne value: 
Tue, 12 Apr 2016 22: 04: 00 GMT 
*/ 
+0

Merhaba @kennebec, bunu kullanmam için özür dilerim sizinle iletişim kurmak için bir yer olarak soru. Ama harika 'sharedStart' işlevini kullanıyordum ama bir değişiklik için yardıma ihtiyacım vardı. Eğer müsait iseniz lütfen bana yardımcı olabilirsiniz - Ben burada sorumu gönderdim - https://stackoverflow.com/q/49134350/1828637 – Noitidart

İlgili konular