Ich versuche, ein Jahr vor dem heutigen Datum zu bekommen, und es funktioniert nicht.
JS:
var now = new Date();
var oneYr = new Date();
oneYr.setYear(now.getYear() + 1);
$("#yearFromNow").append(oneYr.toString());
var oneMonth = new Date();
oneMonth.setMonth(now.getMonth() + 1);
$("#monthFromNow").append(oneMonth.toString());
Ausgabe:
one mo. = Thu Dec 22 112 15:16:01 GMT-0500 (Eastern Standard Time)
one yr. = Sun Jan 22 2012 15:16:01 GMT-0500 (Eastern Standard Time)
Das Jahr hat Dec 22 112
- ?? Der Monat wird korrekt angezeigt Jan 22 2012
.
Wenn Sie daran basteln möchten, http://jsbin.com/alezaj/edit#javascript,html,live . Dies ist in Chrome und Firefox.
Vielen Dank!
quelle
new Date(new Date().setFullYear(new Date().getFullYear() + 1))
Dies wird
Date
in Zukunft genau ein Jahr mit nur einer Zeile schaffen. Zuerst erhalten wir dasfullYear
von anew Date
, erhöhen es, setzen es als das Jahr von anew Date
. Sie könnten denken, wir wären dort fertig, aber wenn wir aufhören würden, würde ein Zeitstempel zurückgegeben, keinDate
Objekt, also verpacken wir das Ganze in einenDate
Konstruktor.quelle
setYear()
ist veraltet ,setFullYear()
sollte stattdessen verwendet werden.Wie
setYear()
veraltet, ist die richtige Variante:Alle Beispiele geben den Unix-Zeitstempel zurück, wenn Sie ein
Date
Objekt erhalten möchten - schließen Sie es einfach mit einem anderen einnew Date(...)
quelle
Mit einigen der Antworten auf dieser Seite und hier habe ich meine eigene Antwort gefunden, da keine dieser Antworten sie für mich vollständig gelöst hat.
Hier ist der springende Punkt
Und hier eine JSFiddle mit einem funktionierenden Beispiel: https://jsfiddle.net/wavesailor/g9a6qqq5/
quelle
Benutze das:
quelle
Verwenden Sie setFullyear wie von anderen gepostet. Beachten Sie jedoch, dass dies einen Zeitstempelwert und kein Datumsobjekt zurückgibt. Es ist auch ein guter Kandidat, Funktionen über den Prototyp hinzuzufügen. Dies führt uns zu folgendem Muster:
quelle
Auf sehr einfache Weise. Verwenden Sie diesen Code.
quelle