Mam problem z poprawnym przekonwertowaniem pewnego stałego formatu daty na format daty obsługiwanej (ustawionej) w systemie Win.
1. Mam stały format daty typu: dd-mm-rrrr czyli np.: datę: 1-9-2006
2. W systemie użytkownik ustawił inny format daty, np.: rr-dd-mm
3. Przy próbie porównania obydwu dat, w celu sprawdzenia różnicy minionych dni, wystąpi błąd "is not a valid date", dlatego mój format daty musi być przekonwertowany na format używany przez system.
4. Zrobiłem taką funkcję:
function KonwertujDate(Data: string): TDate;
begin
Result := StrToDate(FormatDateTime(ShortDateFormat, StrToDate(Data)));
end;
gdzie:
ShortDateFormat
- zwraca wynik w postaci formatu daty ustalonej w systemie
Data
- to moja data w formacie dd-mm-rrrr
5. Następnie "wydobywam" informację o różnicy dni:
var
Bylo, Jest: TDateTime;
begin
Jest := Now;
Bylo := KonwertujDate('1-9-2006');
Label1.Caption := inttostr(DaysBetween(Jest, Bylo));
end;
Mam problem z funkcją KonwertujDate ponieważ nie konwertuje ona daty i powstaje błąd "is not a valid date". Nie wiem gdzie popełniam błąd, a może nawet nie tak należy przeprowadzić "konwersję".
Proszę o pomoc [soczek]