Potrzebuję napisać JavaScript, który pozwoli mi porównać dwa znaczniki czasu ISO, a następnie wydrukować różnicę między nimi, na przykład: "32 sekundy".Porównaj 2 znaczniki czasu ISO 8601 i wyjściowa różnica sekund/minut
Poniżej znajduje się funkcja znaleziona w przepełnieniu stosu, zamienia zwykłą datę na formatowaną ISO. Tak, to pierwsza rzecz na drodze, uzyskanie aktualnego czasu w formacie ISO.
Następną rzeczą, którą muszę zrobić, to uzyskać kolejny znacznik czasu ISO, aby porównać go z ... no cóż, mam to zapisane w obiekcie. Dostęp do niego jest następujący: marker.timestamp (jak pokazano w poniższym kodzie). Teraz muszę porównać te dwa dwa znaczniki czasu i wyliczyć różnicę między nimi. Jeśli jest to < 60 sekund, powinno wyjść w sekundach, jeśli jest> 60 sekund, powinno to na przykład wyjść 1 minuta i 12 sekund temu.
Dzięki!
function ISODateString(d){
function pad(n){return n<10 ? '0'+n : n}
return d.getUTCFullYear()+'-'
+ pad(d.getUTCMonth()+1)+'-'
+ pad(d.getUTCDate())+'T'
+ pad(d.getUTCHours())+':'
+ pad(d.getUTCMinutes())+':'
+ pad(d.getUTCSeconds())+'Z'}
var date = new Date();
var currentISODateTime = ISODateString(date);
var ISODateTimeToCompareWith = marker.timestamp;
// Now how do I compare them?
Więc chcesz porównać 'currentISODateTime' z' ISODateTimeToCompareWith' i oba są w formacie ISO 8601? – federicot
@Campari Tak, dokładnie to, a następnie wyprowadzić różnicę między nimi. Oba są w formacie ISO 8601. – jskidd3