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