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 konvertieren (https://www.delphipraxis.net/149309-datum-konvertieren.html)

Tzwen 18. Mär 2010 15:16


Datum konvertieren
 
Hallo,

ich möchte in D6 ein String in dem ein Datum in verschiedensten Varianten abgelegt wurde
einheitlich in ein 'TDate' konvertieren.

Das Problem, das Datum kann wirklich in allen Versionen vorkommen, speziell auch mit
ausgeschriebenen Monatsnamen (Januar, Jan. oder Jan und sogar English January).
Noch schlimmer, auch die Jahreszahl ist mal 2 und mal 4 stellig vorhanden.
Manchmal fehlen Tag und manchmal Monat und Tag komplett.

Gibt es eine Möglichkeit, diese automatisch zu konvertieren?

Oder muss ich das alles ausprogrammieren um die Monatsnamen und alle Details zu erkennen?
Hat sich vielleicht schon mal jemand diese Mühe gemacht?


Vielen Dank für jede Hilfe.


Tzwen

Wolfgang Mix 18. Mär 2010 16:37

Re: Datum konvertieren
 
Eine automatische Konvertierung gibt es meines Wissens nicht.
Das wirst du wohl selber coden müssen.

Hätte beinahe vergessen:
Erst einmal herzlich willkommen in der DP :dp:

s.h.a.r.k 18. Mär 2010 16:42

Re: Datum konvertieren
 
Probier doch mal TryStrToDate oder TryStrToDateTime.

p80286 18. Mär 2010 16:52

Re: Datum konvertieren
 
Hallo Tzwen,

da wirst du wohl nicht um Handarbeit herum kommen.

Besonders tükisch wäre z.B. 04/05/1905. Ist das der 4. Mai 1905 oder April the 5th 1905 ?
(bei / als Trenner sollte es das am. Datum sein)

bei tryStrtoDate müsste man mit verschiedenen Formatsettings arbeiten, was wohl ähnlich aufwendig wäre wie eine per-Hand-Analyse.
Insbesonders wenn die Monatsnamen unterschiedlich geschrieben werden.

Gruß
K-H

edit: Tippfehler

Tzwen 18. Mär 2010 19:48

Re: Datum konvertieren
 
Hallo nochmal,

vielen Dank für die Infos.

TryStrToDate schafft leider auch nicht viel mehr als StrToDate, aber immerhin spar
ich mir damit die try .. except Schleifen.

Also nochmals vielen Dank
und dann werd ich mal loscoden.

Gruß

Tzwen


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