![]() |
Datum wird nach "FormatDateTime" falsch ausgegeben
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo Zusammen,
ich stehe mal wieder vor einem (vermutlich kleinem) Problem. Ich möchte ein Datum, was vom Benutzer eingegeben wird, in ein einheitliches Format umwandeln. Dazu nutze ich "FormatDateTime". Nun ist mir aufgefallen, wenn der Benutzer ein Datum vor dem 01.01.1965 eingibt, kann es zu einem Ausgabefehler kommen. Alle Daten ab dem 1.1.65 werden korrekt umformatiert. Beispiel: Eingabe: 1.1.1964 ===> Ausgabe 01.01.1964 Eingabe: 1.1.64 ===> Ausgabe 01.01.2064 Anhang 43553 Ich habe für die Umwandlung diesen Code verwendet:
Delphi-Quellcode:
Anhang 43554
procedure TForm1.Button1Click(Sender: TObject);
begin edit2.Text := FormatDateTime('dd.mm.yyyy', StrToDateTime(edit1.Text)); edit4.Text := FormatDateTime('dd.mm.yyyy', StrToDateTime(edit3.Text)); end; Der Fehler tritt nur auf, wenn das Datum vor dem 1.1.65 ist und wenn der Benutzer die Kurzform des Jahres angibt (62 statt 1962). Ab dem 1.1.65 ist es egal, ob das Jahr in Kurzform geschrieben wird oder nicht. Nun Meine Frage: Habe ich irgendwas vergessen oder übersehen und wie kann ich den Fehler Abfangen? Habt ihr einen Tipp für mich? Vielen Dank vorab. LG Micha (Ps.: verwende Delphi XE4 Prof.) |
AW: Datum wird nach "FormatDateTime" falsch ausgegeben
In der Hilfe zu SysUtils.StrToDateTime steht eigentlich alles wichtige drin.
|
AW: Datum wird nach "FormatDateTime" falsch ausgegeben
Toll. Ich habe mich grade mehrere Minuten durch den Quelltext gewühlt um den Hinweis auf
![]() zu finden. Hätte ich mal besser in die Hilfe geschaut :oops: |
AW: Datum wird nach "FormatDateTime" falsch ausgegeben
Ja, F1 drücken kann auch jeder, das ist zu langweilig :lol:
|
AW: Datum wird nach "FormatDateTime" falsch ausgegeben
Hallo TE,
du lässt eine Information weg (sprich die Angabe der Jahrhunderte) und erwartest das Delphi dann auf das von dir gewünschte Ergebniss kommt. Ich persönlich hätte erwartet das strtodatetime('01.01.65') =>'01.01.0065' ergeben würde. Wenn ich eine Information weglasse, kann ich eigentlich nicht erwarten, das ein anderer diese Information richtig errät. Das kann funktionieren, muss es aber nicht. Aber die Erklärung findest du in der Delphi-Hilfe (siehe oben). mfg frank |
AW: Datum wird nach "FormatDateTime" falsch ausgegeben
Hallo Frank,
vielen Dank für Deine Rückmeldung. Aber wie erklärst Du mir, dass es ab dem Datum 1.1.65 funktioniert und bis 31.12.64 nicht, wenn der Benutzer das Jahrhundert weg lässt? LG Micha |
AW: Datum wird nach "FormatDateTime" falsch ausgegeben
Zitat:
|
AW: Datum wird nach "FormatDateTime" falsch ausgegeben
Ich glaube du hast bislang nicht richtig gelesen. Es gibt einen einstellbaren Wert ab wann er, bei weggelassenem Jahrhundert die Vergangenheit und wann die Zukunft annimmt. Der Standardwert ist 50 Jahre. Nächstes Jahr könntest du die Frage stellen warum es erst ab 1966 "funktioniert"
|
AW: Datum wird nach "FormatDateTime" falsch ausgegeben
F1 :duck:
|
AW: Datum wird nach "FormatDateTime" falsch ausgegeben
Für alle die die F1-Taste verlegt oder noch nicht gefunden haben
![]() Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:42 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