![]() |
TryStrToDate klappt nicht - wer weiss Rat?
Hallo Leute,
ich habe ein engl. DATUM mit '29/Dec/2017' vorliegen und will es mit dieser Procedure testen. (nur ein demo) Aber ich weiss nicht wieso er bei TryStrToDATE false gibt.
Delphi-Quellcode:
procedure test;
var datestr: string; outresult: TDateTime; FSin: TFormatsettings; begin datestr:='29/Dec/2017'; FSin := TFormatSettings.Create('us-us'); FSin.longDateFormat:='dd/mmm/yyyy'; FSin.Dateseparator:='/'; if TryStrToDate(datestr,outresult,FSin) then begin ShowMessage(Format('OK fmt: dd/mmm/yyyy : %s',[datestr])) end else ShowMessage(Format('WRONG fmt: not dd/mmm/yyyy : %s',[datestr])) end; |
AW: TryStrToDate klappt nicht - wer weiss Rat?
Gelesen werden können nur Nummern, von diesen Funktionen,
auch sind nicht "beliebige" Formate möglich. DataToStr kann viel, aber StrToDate verwendet zum Decodieren nicht "direkt" den FormatString, sondern macht es selber und da ist nur ein kleiner Teil implementiert. Es wird nur geschaut, in welcher Reihenfolge D, M und Y im FormatString stehen und dann immer nur als xx/xx/xx gelesen. Du könntest vorher die FormatSettings.ShortMonthNames nehmen und durch Zahlen ersetzen, bevor der String in TryStrToDate übergeben wird. |
AW: TryStrToDate klappt nicht - wer weiss Rat?
DANKE SUPER, das hab ich nicht gedacht. BESTEN DANK!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:08 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