Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Datumswert umwandeln (https://www.delphipraxis.net/114500-datumswert-umwandeln.html)

Grolle 26. Mai 2008 15:15


Datumswert umwandeln
 
Hallo,

ich bekomme aus der Datenbank Werte in diesem (Double)Format: 395890000.
Diesen will ich jetzt in einen Datumsstring umwandeln dd.mm.yyyy.
Gibt es dafür eine Funktion?

Viele Grüße

Sherlock 26. Mai 2008 15:18

Re: Datumswert umwandeln
 
Wenn die DB ein DateTime-Feld bietet, dann kannst Du das .AsDateTime in Delphi aus der Query auslesen. Dann noch mit Delphi-Referenz durchsuchenDateTimeToString umwandeln und fertig.

Da brauchst Du nicht viel zu tun.

Sherlock

Grolle 26. Mai 2008 15:24

Re: Datumswert umwandeln
 
Hi,

ist ein Integer-Feld. Nachträglich ändern ist im Moment nicht möglich.

Viele Grüße ...

Sherlock 26. Mai 2008 15:40

Re: Datumswert umwandeln
 
Dann ist es das beliebte Posix-Datumsformat. POSIX zählt die seit dem 1. Januar 1970 abgelaufene Zeit in Sekunden. Muss man halt rechnen Ich kann sowas nicht).
Das wird übrigens im Jahr 2038 zu einem mittelschweren Problem werden ;)

Sherlock

bluesbear 26. Mai 2008 15:47

Re: Datumswert umwandeln
 
Sowas in der Art?
Delphi-Quellcode:
MeinTDateTime := EncodeDate(1970, 1, 1) + (MeinPosixDatumUhrzeitInteger / 24 / 60 / 60)

Sherlock 26. Mai 2008 15:52

Re: Datumswert umwandeln
 
Das wäre wohl das richtige, nur kommt mir das grad nicht wie ein Posix vor, denn die vielen Nullen am Ende des Beispiels irritieren mich (395890000).

Werden da vielleicht Delphi TDateTimes mit 10.000 multipliziert und in einem Integer abgelegt?

Edit: Scheint so, denn die Zahl (ohne Nullen) ergibt den 21.05.2008 als Delphi-Datum.

Sherlock

Grolle 26. Mai 2008 15:53

Re: Datumswert umwandeln
 
So ist es:

Delphi-Quellcode:
      tmpDate := (ResultRows.List[iLoop].Int['letzter_zugriff'] /10000);
      ResultGrid.Rows[TmpRow].Add(DateToStr(tmpdate));
Jetzt klappt das!


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:18 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