new Date() 31 Aralık 2014 diyor 1 Aralık yerine ayarlayın
Tarih bir nesne bir dize dönüştürmek için çalışıyorum, ve 31 yerine 31 Aralık hariç her gün burada nesne ile diyor 1 Aralık çalışır. Neden hiçbir fikrim yok. Burada JavaScript
şifrem:
var dt = new Date();
dt.setDate("31");
dt.setMonth("11");
dt.setFullYear("2014");
ama benim değişken değeri:
Mon Dec 01 2014 11:48:08 GMT 0100 (Paris, Madrid)
Eğer başka bir tarih için aynı şeyi yaparsam, benim nesne uygun değeri döndürür. Yanlış yaptığım hakkında bir fikrin var mı?
CEVAP
: (31 günden daha az bir Ay için güvenli değil)setMonth
10* *lazım önce
var dt = new Date();
dt.setFullYear(2014);
dt.setMonth(11);
dt.setDate(31);
Ve setMonth
'ın ikinci parametre de tarih ayarlamak için kullanılabilir.
var dt = new Date();
dt.setFullYear(2014);
dt.setMonth(11, 31);
Eğer herhangi bir argüman yapıcı için verdiyse, kullanıngeçerli tarih ve saatsistem ayarlarına göre.
Yani, ayrı ayrı setMonth
setDate
kullanarak hala beklenmedik sonuçlara neden olur.
Değerleri ayarlanırmantıksal aralığı daha büyükdeğeri otomatik olacakbitişik değere ayarlanabilir.
Örneğin, eğer bugün 2014-09-30
o zaman
var dt = new Date();
dt.setFullYear(2014); /* Sep 30 2014 */
dt.setMonth(1); /* Mar 02 2014, see, here the auto adjustment occurs! */
dt.setDate(28); /* Mar 28 2014 */
Bunu önlemek için, değerleri doğrudan oluşturucu kullanarak ayarlayın.
var dt = new Date(2014, 11, 31);
Datetime veri türü için datetime2 veri...
Nasıl bir tarih, belirli bir aralık iç...
C 11 Aralık tabanlı döngü: bir değer v...
Sen her zaman iyilik xrange() Aralık()...
Bir yöntem gibi " var mı JavaScrip...