Also habe ich zwei Termine YYYY-MM-DD
undZZZZ-NN-EE
Wie kann ich herausfinden, wie viele Sekunden zwischen ihnen liegen?
javascript
date
time
Steven
quelle
quelle
yyyy-MM-dd
ist klar (Jahr, Monat, Tag - beachten Sie, dass sie nicht alle in Großbuchstaben geschrieben sind), aber ZZZZ-NN-EE nicht. Ich interpretiere es als (Zeitzone, ???, Tag in Woche). Ist es Woche im Jahr? Wenn ja, wäre das gewesenww
. Aber trotzdem brauchen wir auch das Jahr, um die Differenz zu berechnen. Können Sie bitte einige der tatsächlichen Stichprobenwerte angeben?Antworten:
Ich nehme JJJJ & ZZZZ als Ganzzahlwerte, die das Jahr bedeuten, MM & NN als Ganzzahlwerte, die den Monat des Jahres bedeuten, und TT & EE als Ganzzahlwerte, die den Tag des Monats bedeuten.
Eine praktische Quelle für zukünftige Referenz ist die MDN-Site
Wenn Ihre Daten in einem Format vorliegen, kann Javascript alternativ analysiert werden
und dann können Sie diesen Wert als Differenz in Millisekunden verwenden (dif in beiden meiner Beispiele hat die gleiche Bedeutung)
quelle
yyyy
, 2-stellige Monate in GroßbuchstabenMM
und 2-stellige Tage in Kleinbuchstaben angegebendd
.t2
.Subtrahieren Sie einfach:
quelle
a
undb
und stellen Sie sicher, dass es sich um Daten handelt.Wenn eines oder beide Ihrer Daten in der Zukunft liegen, sind Sie leider SOL, wenn Sie eine sekundengenaue Genauigkeit wünschen. Die UTC-Zeit hat Schaltsekunden, die erst etwa 6 Monate vor ihrem Eintritt bekannt sind. Daher können weiter entfernte Daten um einige Sekunden ungenau sein (und in der Praxis, da die Benutzer ihre Maschinen nicht so oft aktualisieren, Sie kann feststellen, dass jede Zeit in der Zukunft um einige Sekunden verschoben ist).
Dies gibt eine gute Erklärung für die Theorie des Entwurfs von Datums- / Zeitbibliotheken und warum dies so ist: http://www.boost.org/doc/libs/1_41_0/doc/html/date_time/details.html#date_time.tradeoffs
quelle
Sie können es einfach tun.
quelle
Erstellen Sie zwei
Date
Objekte, rufen SievalueOf()
beide auf und vergleichen Sie sie.JavaScript-Datumsobjektreferenz
quelle
quelle
Einfacher Weg:
quelle
In Bash:
Es erfordert die Installation von bc und gnu date.
quelle
.Net bietet die TimeSpan-Klasse, um die Mathematik für Sie zu erledigen.
quelle