Hinzufügen von Stunden zum Javascript Date-Objekt?
Es wundert mich, dass der Javascript-Date-Objekt nicht implementieren Sie eine add-Funktion mit der jede Art.
Möchte ich einfach nur eine Funktion, die dies tun können:
var now = Date.now();
var fourHoursLater = now.addHours(4);
function Date.prototype.addHours(h) {
//how do I implement this?
}
Ich würde einfach gerne ein paar Tipps in die Richtung.
- Muss ich tun, string Parsen?
- Kann ich mit setTime?
- Wie etwa Millisekunden?
Wie diese:
new Date(milliseconds + 4*3600*1000 /*4 hrs in ms*/)?
Scheint dies wirklich hackish aber - und tut es auch funktioniert?
InformationsquelleAutor der Frage Jeff Meatball Yang | 2009-06-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
JavaScript selbst hat schreckliche Datum/Zeit-API. Dies ist der einzige Weg, es zu tun in reinem JavaScript. Ich würde empfehlen, mit Datejs - vorgeschlagen von Nosredna -, wenn Sie tun eine Menge manipulation von Datum, obwohl.
InformationsquelleAutor der Antwort Jason Harwig
Test:
InformationsquelleAutor der Antwort kennebec
Den code unten ist, fügen Sie 4-Stunden-bis-Datum(z.B. das heutige Datum)
Es wird nicht zu einer Fehlermeldung, wenn Sie versuchen, hinzufügen von 4 bis 23 (siehe docs):
InformationsquelleAutor der Antwort AceLearn
Ist es wahrscheinlich besser, die addHours-Methode unveränderlich durch Rücksendung eine Kopie des Date-Objekts anstatt zu mutierenden parameter.
Diese Weise können Sie die Kette auf einen Haufen-Methode aufruft, ohne sich Gedanken über den Staat.
InformationsquelleAutor der Antwort Tahir Hassan
Können Sie die momentjs http://momentjs.com/ Bibliothek.
InformationsquelleAutor der Antwort Cmag
Version vorgeschlagen, die von kennebec wird scheitern, wenn Sie auf oder von Sommerzeit, denn er ist die Stunden-Zahl, die eingestellt ist.
hinzufügen
h
Stundenthis
unabhängig von Zeit-system Besonderheiten.Jason Harwig ist die Methode so gut funktioniert.
InformationsquelleAutor der Antwort petter
Es ist ein add in der Datejs Bibliothek.
Und hier sind die JavaScript-date-Methoden. kennebec mit bedacht erwähnt getHours() und setHours();
InformationsquelleAutor der Antwort Nosredna
Ich denke auch, dass das original-Objekt darf nicht geändert werden. So sparen Sie zukünftig Arbeitskräfte hier ist eine kombinierte Lösung basiert auf Jason Harwig ist und Tahir Hasan Antworten:
InformationsquelleAutor der Antwort Edward Olamisan
Überprüfen, wenn es nicht bereits definiert ist, ansonsten legt es auf das Datum Prototyp:
InformationsquelleAutor der Antwort Mikael Engver
Für ein einfaches addieren/subtrahieren Stunde/minute Funktion in javascript, versuchen Sie dies:
Dieser kann ohne Parameter verwendet, um die aktuelle Zeit
oder mit Parametern zu bekommen, die Zeit mit den zusätzlichen Minuten/Stunden
sogar negative Zeit arbeitet
diese Funktion gibt ein array von
InformationsquelleAutor der Antwort durkinza
Wenn Sie nicht möchten, verwenden Sie eine Bibliothek und würde lieber einen einfachen javascript-Lösung verwenden, können Sie diese dateAdd () - Funktion ich schrieb. Es funktioniert mit Tageslicht, das spart Zeit und ermöglicht Ihnen das hinzufügen von Minuten, Stunden, Tage, Wochen, etc.
Beispiel:
Dieser zurückkehren würde, ein date-Objekt um eins erhöht, von 4 Stunden.
InformationsquelleAutor der Antwort Gideon Shils
Einen anderen Weg, dies zu behandeln ist, konvertieren Sie das Datum in unixtime (Epoche), dann fügen Sie den Gegenwert in (milli)Sekunden, konvertieren Sie es dann zurück. Auf diese Weise können Sie verarbeiten, Tag und Monat-übergänge, wie das hinzufügen von 4 Stunden, um 21, die in den nächsten Tag 01:00.
InformationsquelleAutor der Antwort SPRBRN