Umrechnung Datum in Millisekunden

FUT320

Benutzer
Beiträge
9
Hallo,

ich versuche gerade die Differenz zweier Daten zu berechnen. Vorher werden die Daten in Millisekunden umgerechnet.

Code:
SELECT (CONVERT(bigint, DATEDIFF(SECOND, '19700101', Convert(DateTime,'2018-01-01 00:00:00.000',120)))-CONVERT(bigint, DATEDIFF(SECOND, '19700101', Convert(DateTime,'2016-08-25 20:39:45.790',120))))*1000

Diese Differenz subtrahiere ich später wieder von einem anderen Datum.
Dieses Vorgehen hat zum Großteil funktioniert, nur leider bei dem obigen Beispiel nicht. Im Vergleich zu der Berechnung dieser Seite: Date to Millisecond Calculators habe ich eine Differenz von einer Stunde.

MSSQL: 42607215000
ruddwire: 42610815000

Wie kann das sein? Anfangs bin ich von einer falschen Zeitzone ausgegangen, jedoch passt es bei den anderen Daten und diese werden genauso berechnet.
 
Werbung:
Sommer / Winterzeit?

ich komme auf

Code:
test=*# select extract(epoch from '2018-01-01 00:00:00.000'::timestamp) -  extract(epoch from '2016-08-25 20:39:45.790'::timestamp);
  ?column?   
-------------
 42607214.21
(1 row)

test=*#

hab es jetzt nicht nachgezählt...
 
Das ist das Gleiche, was ich immer als Ergebnis bekomme. Aber beim Versuch das über diese Webseite zu verifizieren, habe ich festgestellt, dass diese ein anderes Ergebnis liefern.
 
Werbung:
Tja ;-)

Entweder der Mehrheit glauben oder nachzählen.

Hint: vom 2018-01-01 zurück bis zum 2016-08-26 sind es:

Code:
test=*# select '2018-01-01'::date - '2016-08-26'::date ;
 ?column?
----------
  493
(1 Zeile)

Tage. Je Tag 24 Stunden je 3600 Sekunden. (Ja, so viel hat eine Stunde, echt!)

Dann noch die Zeit zurück bis zum 25. 20:39:45.79 sind 3 Stunden, 20 Minuten, 14 Sekunden und 0.21 weitere Sekunden:

Code:
test=*# select 493 * 24*3600 + 3*3600 + 20*60 + 14.21;
  ?column?   
-------------
 42607214.21
(1 Zeile)
 
Zurück
Oben