Wie kann ich diesen Pseudocode in funktionierende js übersetzen [mach dir keine Sorgen darüber, woher das Enddatum kommt, außer dass es ein gültiges Javascript-Datum ist].
var myEndDateTime = somedate; //somedate is a valid js date
var durationInMinutes = 100; //this can be any number of minutes from 1-7200 (5 days)
//this is the calculation I don't know how to do
var myStartDate = somedate - durationInMuntes;
alert("The event will start on " + myStartDate.toDateString() + " at " + myStartDate.toTimeString());
javascript
brendan
quelle
quelle
.getTime()
. Beispiel:var myStartDate = new Date(myEndDateTime.getTime() + durationInMinutes * MS_PER_MINUTE);
var myStartDate = somedate.addMinutes(-durationInMuntes);
Ich nehme an, irgendwann ist einvar d = new Date("2017-10-29 01:50:00"), e = new Date(d.getTime() + 20 * 60000);
Sie erwartene
zu sein02:10:00
, nicht wahr? Nee.01:10:00
. Die Sommerzeit sagt Hallo. Und dann gibt esSie können auch get und set Protokoll verwenden, um dies zu erreichen:
quelle
setMinutes()
klug genug ist, um negative Minuten korrekt zu behandeln. Also , wenn Starttermin war 3.05, und Sie möchten 30 Minuten subtrahieren, Sie nebenbei würde-25
zu setMinutes (), die intelligent genug , um zu wissen , dass3:-25
ist2:35
. (dh es wirft keine Ausnahme.).setMinutes(...)
Force-Handle-int
Werte. Wenn Sie setzen1.5 minutes
in eineDate
wird es nur dann gesetzt1 minute
und halten Sie die Sekunden , um die gleiche wie zuvor.Alles ist nur Zecken, keine Notwendigkeit, Methoden auswendig zu lernen ...
oder
aktualisieren
Nachdem ich mit momentjs gearbeitet habe, muss ich sagen, dass dies eine erstaunliche Bibliothek ist, die Sie sich ansehen sollten. Es ist wahr, dass Häkchen in vielen Fällen funktionieren und Ihren Code sehr klein machen, und Sie sollten versuchen, Ihren Code so klein wie möglich für das zu machen, was Sie tun müssen. Verwenden Sie für alles, was kompliziert ist, momentjs.
quelle
moment.js bietet einige wirklich nützliche Methoden zum Bearbeiten von Datumsobjekten
Mit der .subtract- Methode können Sie eine bestimmte Anzahl von Zeiteinheiten von einem Datum subtrahieren, indem Sie die Anzahl und eine Zeiteinheitszeichenfolge angeben.
quelle
Folgendes habe ich gefunden:
Quellen:
http://www.javascriptcookbook.com/article/Perform-date-manipulations-based-on-adding-or-subtracting-time/
https://stackoverflow.com/a/12798270/1873386
quelle
Sie können den Unix-Zeitstempel
new Date()
beispielsweise mithilfe von. in konventionelle Zeit konvertierenquelle
Versuchen Sie es wie folgt:
quelle
Folgendes habe ich getan: siehe Codepen
quelle
new Date()
, hat jedoch ein bestimmtes Datum und fragt nur nach dem Subtrahieren von Minuten. Außerdem funktioniert Ihr Code nicht - er gibt den UNIX-Zeitstempel anstelle des Datumsobjekts zurück.Erweitern Sie die Datumsklasse mit dieser Funktion
Sie können also zu jedem Datum eine Anzahl von Minuten, Sekunden, Stunden, Tagen ... hinzufügen oder entfernen.
quelle