Einzelnen Beitrag anzeigen

DieFliege

Registriert seit: 6. Aug 2013
54 Beiträge
 
Delphi XE4 Professional
 
#1

Datum wird nach "FormatDateTime" falsch ausgegeben

  Alt 16. Jul 2015, 09:19
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
datumfehler.jpg

Ich habe für die Umwandlung diesen Code verwendet:
Delphi-Quellcode:
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;
datumfunktion.zip

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.)

Geändert von DieFliege (16. Jul 2015 um 09:21 Uhr)
  Mit Zitat antworten Zitat