Wenn Sie sagen, Sie würden eine Stunde hinzufügen, die dazu führt, dass sie auf den nächsten Tag übertragen wird, würde dies sie abfangen und alles richtig erhöhen (Tag, Monat, Jahr)?
– cdoern
14. Mai 2020 um 16:40 Uhr
@cdoern Ich denke, das würde es, da getTime() Millisekunden zurückgibt und Sie einfach weitere Millisekunden hinzufügen
Ich glaube nicht, dass das funktioniert – testen Sie es zum Beispiel an etwas mit Stunde 23? Die Antwort von Jason Harwig kam mir in den Sinn.
– Domenik
25. Oktober 2010 um 16:08 Uhr
Es ist eine schlechte Praxis, Dinge zu einem Objektprototyp in Javascript hinzuzufügen, und Domenic hat recht, das funktioniert nicht. Die Lösung von Jason Harwig unten ist besser.
– iKode
6. Juli 2012 um 12:43 Uhr
@Domenic Das funktioniert gut mit 23:00, getestet in der JavaScript-Konsole von Firefox 10, Chrome 21 und IE 8/9. Hier der Code, den ich zum Testen verwendet habe: var date = new Date(2012, 10, 22, 23, 0, 1); date.toString(); // Thu Nov 22 2012 23:00:01 GMT+0100 (CET) date.setHours(date.getHours() + 1); date.toString(); // Fri Nov 23 2012 00:00:01 GMT+0100 (CET) Es funktioniert auch gut mit setMinutes()
– Tanguy_k
22. November 2012 um 0:19 Uhr
Bei dieser Lösung sind Probleme aufgetreten – Das Erhöhen um 1 ist für mich am DST-Umschaltpunkt fehlgeschlagen (Uhr um eine Stunde vorwärts stellen).
– andrewb
2. Oktober 2015 um 2:09 Uhr
Wurde auch davon gebissen – ich habe die Stunden mit setHours (getHours-1) durchlaufen: Jetzt, in der ersten DST-Stunde, endet dies in einer Endlosschleife. Überprüfen Sie also das Ergebnis!
– cfstras
14. März 2016 um 12:57 Uhr
Peter Mortensen
Die von kennebec vorgeschlagene Version schlägt fehl, wenn Sie zu oder von wechseln Sommerzeitda es sich um die eingestellte Stundenzahl handelt.
this.setUTCHours(this.getUTCHours()+h);
werde hinzufügen h Stunden zu this unabhängig von Zeitsystem-Eigenheiten.
Die Methode von Jason Harwig funktioniert auch.
Ich glaube nicht, dass das funktioniert – testen Sie es zum Beispiel an etwas mit Stunde 23? Die Antwort von Jason Harwig kam mir in den Sinn.
– Domenik
25. Oktober 2010 um 16:08 Uhr
Es ist eine schlechte Praxis, Dinge zu einem Objektprototyp in Javascript hinzuzufügen, und Domenic hat recht, das funktioniert nicht. Die Lösung von Jason Harwig unten ist besser.
– iKode
6. Juli 2012 um 12:43 Uhr
@Domenic Das funktioniert gut mit 23:00, getestet in der JavaScript-Konsole von Firefox 10, Chrome 21 und IE 8/9. Hier der Code, den ich zum Testen verwendet habe: var date = new Date(2012, 10, 22, 23, 0, 1); date.toString(); // Thu Nov 22 2012 23:00:01 GMT+0100 (CET) date.setHours(date.getHours() + 1); date.toString(); // Fri Nov 23 2012 00:00:01 GMT+0100 (CET) Es funktioniert auch gut mit setMinutes()
– Tanguy_k
22. November 2012 um 0:19 Uhr
Bei dieser Lösung sind Probleme aufgetreten – Das Erhöhen um 1 ist für mich am DST-Umschaltpunkt fehlgeschlagen (Uhr um eine Stunde vorwärts stellen).
– andrewb
2. Oktober 2015 um 2:09 Uhr
Wurde auch davon gebissen – ich habe die Stunden mit setHours (getHours-1) durchlaufen: Jetzt, in der ersten DST-Stunde, endet dies in einer Endlosschleife. Überprüfen Sie also das Ergebnis!
– cfstras
14. März 2016 um 12:57 Uhr
Richter Selorm Bruce
Ich denke, das sollte den Trick tun
var nextHour = Date.now() + 1000 * 60 * 60;
10107100cookie-checkWie füge ich Stunden zu einem Datumsobjekt hinzu?yes