Ich kann den Unterschied zwischen zwei Daten mithilfe von MomentJs wie folgt ermitteln:
moment(end.diff(startTime)).format("m[m] s[s]")
Ich möchte jedoch gegebenenfalls auch die Stunde anzeigen (nur wenn> = 60 Minuten vergangen sind).
Wenn ich jedoch versuche, die Dauer Stunden wie folgt abzurufen:
var duration = moment.duration(end.diff(startTime));
var hours = duration.hours();
Es wird die aktuelle Stunde und nicht die Anzahl der Stunden zwischen den beiden Daten zurückgegeben.
Wie erhalte ich den Stundenunterschied zwischen zwei Momenten?
javascript
date
momentjs
Dani
quelle
quelle
startTime.diff(end, 'hours', true);
? Die Dauer.asHours (); würde 1 zurückgeben, wenn es vor 25 Stunden wäre..diff()
ja verwenden. Außer es wäreend.diff(startTime, 'hours', true)
, die Anzahl der Stunden als positive Zahl zu erhalten. Ihr zweiter Punkt ist jedoch nicht korrekt.duration.hours()
würde 1 zurückgeben, wenn es vor 25 Stundenduration.asHours()
wäre , würde aber 25 zurückgeben..hours()
Methode fälschlicherweise verwendet haben , ohne es zu merken.Der folgende Codeblock zeigt, wie die Differenz in der Anzahl der Tage zwischen zwei Daten mit MomentJS berechnet wird.
quelle
var now = moment();
. Siehe momentjs.com/docs/#/parsing/nowOder Sie können einfach tun:
docs: hier
quelle
Alles, was Sie tun müssen, ist,
hours
als zweiten Parameter die Funktion "Momente diff" zu übergeben.Dokumente: https://momentjs.com/docs/#/displaying/difference/
Beispiel:
quelle
Es gibt eine großartige
moment
MethodefromNow()
, die die Zeit einer bestimmten Zeit in einer für Menschen lesbaren Form zurückgibt:Oder wenn Sie das zwischen zwei bestimmten Daten möchten, können Sie verwenden:
Aus den Dokumenten entnommen:
fromNow()
from()
quelle
Ich weiß, dass dies alt ist, aber hier ist eine Einzeiler-Lösung:
Wo Anfang und Ende Momentobjekte sind.
Genießen!
quelle
Wie Sie sehen können, mussten Start- und Enddatum Momentobjekte sein, damit diese Methode funktioniert.
quelle
quelle
In meinem Fall wollte ich Stunden und Minuten:
Weitere Informationen finden Sie in den offiziellen Dokumenten .
quelle
Wenn Sie eine Gesamtminute zwischen zwei Daten pro Tag wünschen , hilft Ihnen der folgende Code möglicherweise vollständig. Startdatum: 2018-05-04 02:08:05 , Enddatum: 2018-05-14 09:04:07 ...
quelle
Ich weiß, dass dies bereits beantwortet wurde, aber falls Sie etwas Rekursives und Allgemeineres wünschen und sich nicht auf den Moment verlassen möchten, können
fromNow
Sie diese von mir erstellte Funktion verwenden. Natürlich können Sie die Logik ändern, um sie an Ihre Bedürfnisse anzupassen und auch Jahre und Sekunden zu unterstützen.quelle
quelle