Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Unix TimeStamp (https://www.delphipraxis.net/213660-unix-timestamp.html)

wendelin 4. Sep 2023 10:24

Unix TimeStamp
 
Hallo,
MyTimeStamp -> 739132. (6-stellige Zahl!).
Umwandlung nach MyDate(nur Datum!) -> 9.Januar 1970
Umwandlung nach Mydate ( Datum + Uhrzeit) -> 04.09.2023.
Wie ist das zu erklären und wie programmiere ich so etwas.
Ich brauche für ein spez. Datum (ohne Uhrzeit) nur eine 6-stellige Zahl und keine 10-stellige Zahl.

Danke Wendelin

herbstrot 4. Sep 2023 10:49

AW: Unix TimeStamp
 
Hallo,

um einen Timestamp umzurechnen gibts die Funktion UnixToDateTime aus System.DateUtils.

rokli 4. Sep 2023 10:53

AW: Unix TimeStamp
 
Hi

aus welcher Programmiersprache - oder Betriebssystem - stammt denn MyDate und Mydate ?

Eine gute Webseite ist https://www.unixtimestamp.com/ da kann man direkt konvertieren lassen und sieht, wie sich die Werte umrechnen ...

wendelin 4. Sep 2023 11:30

AW: Unix TimeStamp
 
Hallo,
MyTimeStamp stammt aus der Registry von WinXp.
MyDate stammt aus der Umrechnung von 2 verschiedenen convertern im Internet.
Einmal der von Dir angegebene Converter -> Ergebnis 10-stellige Zahl.
Einmal von diese Adresse :https://www.netz-gaenger.de/blog/uni...amp-converter/


Wendelin

rokli 4. Sep 2023 11:53

AW: Unix TimeStamp
 
Hi,

also bei mir ergibt die von Dir vorgegebene Zahl unter https://www.netz-gaenger.de/blog/uni...amp-converter/ genauso den 09.01.1970 um 14:18:52 Uhr wie auf der anderen Webseite. Das muss ja auch so sein, da der Unixtimestamp die Zählung der Sekunden seid dem 01.01.1970 ist.
Und daher ist auch klar, je kürzer die von Dir vorgegebene Zahl ist, je dichter ist die Umrechnung am 01.01.1970 um Null Uhr.

Und die Delphi-Funktion, die herbstrot genannt hat, errechnet ebenso dieses Datum / Zeit.

Wenn Du nur das Datum, ohne Zeitanteil, benötigst, dann rechne Dir den Wert doch mit der Funktion um und hol dir dann den Datumsanteil heraus:

z. B. mit
Delphi-Quellcode:
Label1.Caption := DateToStr(UnixToDateTime(739132));
Ansonsten noch mal genauer sagen, womit Du den arbeitest und wo die Unterschiede zwischen MyDate und Mydate liegen und was das ist.

Redeemer 4. Sep 2023 12:07

AW: Unix TimeStamp
 
Für mich sieht das aus wie das MJD mit 0=1.1.1

himitsu 4. Sep 2023 12:55

AW: Unix TimeStamp
 
Also was du mit sonstwelchen Umwandlungen rausbekommst, ist egal,
wichtiger wäre zu wissen, was für ein Datum dieser Wert darstellen soll (so in etwa), um es wirkich validieren zu können.


Joar, sieht irgendwie nach "Stunden seit X" aus.
Irgendwas mit D M Y wohl eher nicht, denn 73 91 32 ... selbst wenn Eines davon das Jahr ist, was soll die andere große Zahl darstellen?

Das häufigste Unix-Timestamp "Epoch" ist ein "Sekunden seit X"


Und Jupp, für relativ viele Formate lassen sich Konvertierungsfunktionen finden, in DateUtils und Teile auch noch in SysUtils.
Manchmal auch in zwei Schritten (z.B. DOS-DateTime zu TDateTime über TSystemTime).

samso 5. Sep 2023 13:58

AW: Unix TimeStamp
 
Die Frage lässt viel Spielraum für Spekulationen, worum es überhaupt geht. Für mich sieht die Zahl 739132 nach "Tagen seit dem Jahr 0" aus. Vielleicht schaust Du Dir mal die Seite https://www.epochconverter.com/seconds-days-since-y0 an.

wendelin 13. Sep 2023 09:59

AW: Unix TimeStamp
 
danke für Eure Antworten,
Gruß Wolfgang


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:38 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz