![]() |
yyyy-mm-dd nach dd.mm.yyyy
Hi,
ich bekomme aus einer Datebank ein Datum im Format yyyy-mm-dd. Wie bekomme ich das jetzt nach dd.mm.yyyy? Mit StrToDateTime geht es leider nicht (sei nicht gültig und so'n Mist)... Was für Alternativen gibt es? Chris |
Ich nehme an, es ist eine SQL-Datenbank (MySQL??). Wenn ja, dann schau dir mal die MySQL-Funktionen DAYOFMONTH(), MONTH() und YEAR an. Damit kannst du die einzelnen Datumselemente einzeln abrufen.
Oder du teilst den String mit Copy so auf, wie du ihn brauchts. |
Hm... :|
Geht das nicht auf Delphi-Art? Denn ich bin froh, dass ich gerade erstmal überhaupt was aus der Datebank herausbekomme... :roll: Chris |
Hehe. Klar geht das auch in Delphi. Ein DATE-Eintrag ist ein String, der, wie du gesagt hast nach dem Muster YYYY-MM-DD aufgebaut ist, also immer mit den gleichen Längen für die einzelnen Elemente.
Mit Copy geht es so:
Delphi-Quellcode:
Ein Beispiel für den Verbindungaufbau (siehe andere Thread) schreib ich dir, sobald ich geduscht hab.
var
buf, date: String; year, month, day: Integer; begin //date sei 2003-02-19 buf := Copy(date,1,4); year := StrtoInt(buf); buf := Copy(date,6,2); month := StrtoInt(buf); buf := Copy(date,9,2); day:= StrtoInt(buf); end; Nachtrag. Ich sehe gerade, dass es auch mit StrtoDate gehen könnte. Du musst nur (wie in der Beschreibung erwähnt) die Variablen DateSeparator und ShortDateFormat auf die richtigen Werte setzen. |
Schon mal mit der Funktion FormatDate('dd.mm.yyyy', XXX) probiert?
|
FormatDate gibt es nicht!
@Chewie: werde ich gleich mal ausprobieren. Sollte aber funktionieren, so wie ich das sehe... Chris |
Das funktioniert auf jeden Fall. Es kann höchtens sein, dass die Anfangszahlen (zweiter Parameter) eins zu hoch oder zu niedrig sind. Aber das wirst du dann merken und wohl auch beheben können :wink:
|
Mein Fehler die Funktion heißt natürlich: FormatDateTime! :oops:
|
So, angepasst und: Funktioniert! Danke!
Übrigens: die Parameter stimmten alle... @S.Krug: hat sich jetzt auch erledigt. Trotzdem danke! Chris |
Zitat:
ich würde möglichst immer versuchen das Ergebniss der Datenbankabfrage an deine Bedürfnisse anzupassen. Stelle dir vor in der nächsten Version des SQL-Servers werden die Daten auf einmal in einem anderen Format zurück gegeben. Dann müsstest Du alle stellen in deinem Programm ändern in denen Du mit dem Datum arbeitest. |
@Sharky: kann ich verstehen, werde das Programm zu gegebenen Zeitpunkt auch ändern, nur ich versuche jetzt ersteinmal das Programm so zum laufen zu bringen, dass ich meine Website administrieren kann (oops. Zuviel gesagt ;) )...
Chris |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:52 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