Jestem w stanie uzyskać różnicę między dwiema datami za pomocą MomentJs w następujący sposób:
moment(end.diff(startTime)).format("m[m] s[s]")
Jednak chcę również wyświetlić godzinę, jeśli dotyczy (tylko, gdy minęło> = 60 minut).
Jednak gdy próbuję odzyskać godziny trwania, korzystając z następujących czynności:
var duration = moment.duration(end.diff(startTime));
var hours = duration.hours();
zwraca bieżącą godzinę, a nie liczbę godzin między dwiema datami.
Jak uzyskać różnicę w godzinach między dwiema chwilami?
javascript
date
momentjs
Dani
źródło
źródło
startTime.diff(end, 'hours', true);
? The duration.asHours (); zwrócił 1, gdyby to było 25 godzin temu..diff()
, tak. Z wyjątkiem tego, żeend.diff(startTime, 'hours', true)
liczba godzin byłaby dodatnia. Jednak twój drugi punkt jest nieprawidłowy.duration.hours()
zwrócił 1, gdyby było 25 godzin temu, aleduration.asHours()
zwróciłby 25..hours()
metody bez zauważenia.Poniższy blok kodu pokazuje, jak obliczyć różnicę liczby dni między dwiema datami za pomocą MomentJS.
źródło
var now = moment();
. Zobacz momentjs.com/docs/#/parsing/nowLub możesz zrobić po prostu:
dokumenty: tutaj
źródło
Wszystko, co musisz zrobić, to przekazać
hours
jako funkcję różnicowania drugiego parametru do momentu.Dokumenty: https://momentjs.com/docs/#/displaying/difference/
Przykład:
źródło
Istnieje świetna
moment
metoda o nazwiefromNow()
, która zwróci czas z określonego czasu w ładnej, czytelnej dla człowieka formie, na przykład:Lub jeśli chcesz, aby między dwiema konkretnymi datami możesz użyć:
Zaczerpnięte z Dokumentów:
fromNow()
from()
źródło
Wiem, że to stare, ale oto jedno rozwiązanie liniowe:
Gdzie początek i koniec są obiektami chwili.
Cieszyć się!
źródło
Jak widać, data początkowa i końcowa musiały być obiektami momentu, aby ta metoda działała.
źródło
źródło
W moim przypadku chciałem godzin i minut:
Aby uzyskać więcej informacji, zapoznaj się z oficjalnymi dokumentami .
źródło
Jeśli chcesz mieć całkowitą liczbę minut między dwiema datami w ciągu dnia, niż może poniżej, kod pomoże Ci w pełni Data rozpoczęcia: 2018-05-04 02:08:05 , Data zakończenia: 2018-05-14 09:04:07 ...
źródło
Wiem, że już na to odpowiedziano, ale na wypadek, gdybyś chciał czegoś rekurencyjnego i bardziej ogólnego i nie polegając na momencie
fromNow
, mógłbyś użyć tej funkcji, którą stworzyłem. Oczywiście możesz zmienić jego logikę, aby dostosować ją do swoich potrzeb, aby obsługiwać lata i sekundy.źródło
źródło