expertenaustausch > comp.lang.* > comp.lang.delphi.misc

Jens Köhler (18.05.2020, 13:16)
Hallo,

ich habe eine Javascriptfunktion

var timeStamp = new Date;
var time = Math.round((timeStamp/1000) / 180);

die ich nach Delphi übersetzen möchte.
Ich habe gefunden, daß das Javascriptdatum dem Unixdatum entspricht.
Eine funktion die ein DateTime nach Unix übersetzt, habe ich auch.

const
UnixStartDate : TDateTime = 25569; // 01.01.1970

function DateTimeToUnix(aDate : TDateTime) : Longint;
// Unixzeit in Sekunden
begin
Result := Round((aDate - UnixStartDate) * 86400);
end;

Date := DateTimeToUnix(now);

f := round(x / 180);
// ohne / 1000 da schon Sekunden und nicht Millisekunden

Das Ergebnis in Delphi ist immer 40 zu hoch. Wieso???

Jens
Julius Kavay (19.05.2020, 02:25)
On 18.05.2020 13:16, Jens Köhler wrote:
[..]
> f := round(x / 180);
> // ohne / 1000 da schon Sekunden und nicht Millisekunden
> Das Ergebnis in Delphi ist immer 40 zu hoch. Wieso???


das eine ist Localzeit, das andere ist UTC.
Derzeit: 2 Stunden unterschied,
nach Adam Ries(e) ist es dann: 2*3600/180 --> 40

Gruesse
Julius
Jens Köhler (19.05.2020, 17:30)
Am 19.05.2020 um 02:25 schrieb Julius Kavay:
> On 18.05.2020 13:16, Jens Köhler wrote:
> das eine ist Localzeit, das andere ist UTC.
> Derzeit: 2 Stunden unterschied,
> nach Adam Ries(e) ist es dann: 2*3600/180 --> 40
> Gruesse
> Julius


An die Stirn klatsch, das stimmt.
Vielen Dank.

Jens
Ähnliche Themen