Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Datum dekodieren? (https://www.delphipraxis.net/121884-datum-dekodieren.html)

Darko 6. Okt 2008 14:08


Datum dekodieren?
 
Ich bin gerade dabei, Daten aus einer Datenbank auszulesen. Dort finde ich ich Datumswerte, die ich irgendwie dekodieren muss. Allerdings weiß ich nicht wie. Ein Beispiel: 39723,32144458
Hat jemand eine Idee, wie ich da an das Originaldatum komme?

DeddyH 6. Okt 2008 14:13

Re: Datum dekodieren?
 
Was ist das für ein Datentyp und wie wird er ausgelesen?

Darko 6. Okt 2008 14:28

Re: Datum dekodieren?
 
Der Datentyp des Feldes ist Double mit einer Größe von 14.
Ausgelesen wird die Datenbank über TQuery, da es sich um eine dBase handelt.

DeddyH 6. Okt 2008 14:32

Re: Datum dekodieren?
 
Es scheint sich um TDateTime zu handeln (ist ja intern auch nur double). Du könntest also mal mit DateTimeToStr auslesen, ob das so passt.

nahpets 6. Okt 2008 14:38

Re: Datum dekodieren?
 
Hallo,

Dein Freund heißt DateTimeToStr, demnach ist 39723,32144458 = 02.10.2008 07:42:52.
Das Datum wird bei Delphi als Gleitkommewert gespeichert, vor dem Komma sind die Tage seit dem 30.12.1899 und hinter dem Komma Stunden, Minuten, Sekunden des entsprechenden Tages.

Schau mal in der Delphihilfe bei TDateTime nach.

Darko 6. Okt 2008 14:50

Re: Datum dekodieren?
 
Danke schonmal für die tollen Tipps!
Problem hab ich allerdings noch eins: Wenn ich den Wert mit DateTimeToStr umwandeln möchte, erhalte ich die Meldung, dass dies kein gültiger Datumswert ist! :(
Als was muss ich das Auslesen?


DateTimeToStr(Qr1.FieldByName('upddate').As???

nahpets 6. Okt 2008 14:52

Re: Datum dekodieren?
 
Zitat:

Zitat von Darko
Danke schonmal für die tollen Tipps!
Problem hab ich allerdings noch eins: Wenn ich den Wert mit DateTimeToStr umwandeln möchte, erhalte ich die Meldung, dass dies kein gültiger Datumswert ist! :(
Als was muss ich das Auslesen?


DateTimeToStr(Qr1.FieldByName('upddate').As???

AsFloat müsste das sein, ist ja ein Gleitkommawert.

DeddyH 6. Okt 2008 14:54

Re: Datum dekodieren?
 
Versuch es doch gleich AsDateTime.

Darko 6. Okt 2008 15:04

Re: Datum dekodieren?
 
Zitat:

Zitat von nahpets
Zitat:

Zitat von Darko
Danke schonmal für die tollen Tipps!
Problem hab ich allerdings noch eins: Wenn ich den Wert mit DateTimeToStr umwandeln möchte, erhalte ich die Meldung, dass dies kein gültiger Datumswert ist! :(
Als was muss ich das Auslesen?


DateTimeToStr(Qr1.FieldByName('upddate').As???

AsFloat müsste das sein, ist ja ein Gleitkommawert.


Das wars!
Wunderbarsten Dank! :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:59 Uhr.

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