Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.delphi.misc > #19072 > unrolled thread
| Started by | Jens Köhler <jkoehl@web.de> |
|---|---|
| First post | 2020-05-18 13:16 +0200 |
| Last post | 2020-05-19 17:30 +0200 |
| Articles | 3 — 2 participants |
Back to article view | Back to de.comp.lang.delphi.misc
JavascriptDatum in Delphi Jens Köhler <jkoehl@web.de> - 2020-05-18 13:16 +0200
Re: JavascriptDatum in Delphi Julius Kavay <kavay@gmx.net.is.not.invalid> - 2020-05-19 02:25 +0200
Re: JavascriptDatum in Delphi Jens Köhler <jkoehl@web.de> - 2020-05-19 17:30 +0200
| From | Jens Köhler <jkoehl@web.de> |
|---|---|
| Date | 2020-05-18 13:16 +0200 |
| Subject | JavascriptDatum in Delphi |
| Message-ID | <r9tqpd$s8i$1@solani.org> |
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
[toc] | [next] | [standalone]
| From | Julius Kavay <kavay@gmx.net.is.not.invalid> |
|---|---|
| Date | 2020-05-19 02:25 +0200 |
| Message-ID | <hignahFudg9U1@mid.individual.net> |
| In reply to | #19072 |
On 18.05.2020 13:16, Jens Köhler wrote: > 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??? 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 --
[toc] | [prev] | [next] | [standalone]
| From | Jens Köhler <jkoehl@web.de> |
|---|---|
| Date | 2020-05-19 17:30 +0200 |
| Message-ID | <ra0u24$8lj$1@solani.org> |
| In reply to | #19073 |
Am 19.05.2020 um 02:25 schrieb Julius Kavay: > On 18.05.2020 13:16, Jens Köhler wrote: >> >> 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 An die Stirn klatsch, das stimmt. Vielen Dank. Jens
[toc] | [prev] | [standalone]
Back to top | Article view | de.comp.lang.delphi.misc
csiph-web