Ich verwende einen Datepicker, der ein Datum im Format Sun Jul 7 00:00:00 EDT 2013 angibt. Obwohl der Monat Juli sagt, gibt es mir den Vormonat, wenn ich einen getMonth mache.
var d1 = new Date("Sun Jul 7 00:00:00 EDT 2013");
d1.getMonth());//gives 6 instead of 7
Was mache ich falsch?
javascript
date
Entwickler747
quelle
quelle
getYear()
! ;-)Antworten:
Weil getmonth () bei 0 beginnt. Möglicherweise möchten
d1.getMonth() + 1
Sie erreichen, was Sie wollen.quelle
d1.getMonth() < 12 ? d1.getMonth() + 1 : 1
- sonst wäre der 13. Dezember, nicht wahr?getMonth()
Funktion ist null indiziert. Du musst tund1.getMonth() + 1
Kürzlich habe ich die Bibliothek Moment.js verwendet und nie zurückgeschaut. Versuch es!
quelle
Vorausgesetzt, Sie verwenden Ihre Variable
Monat erfordert eine +1, um genau zu sein, es beginnt bei 0 zu zählen
Im Gegensatz dazu ... benötigen diese Methoden KEIN Plus 1
Und beachte, dass es
.getDate()
NICHT ist.getDay()
Hoffe das hilft
Ich vermute, dass diese Methoden aus historischen Gründen nicht konsistent sind
quelle