TryStrToDate
関数を使用して、mmm/yyの形式の文字列をTDateTime
に変換しようとしています。しかし、それは常に失敗するようです。TryStrToDateは形式mmm/yyで失敗する
私は、書式設定レコードを作成し、日付の区切りと短い日付形式を設定します。長い日付形式を設定して、短くまたは長い日付形式を設定するかどうかに問題があることを示します。
リットルはDD/MM/YYYYを使用し、2017年1月2日に渡す例を変更した場合、それはそうLが問題の形式とすることができると信じて成功しています。私は何リットルの一例を示すデモコンソールアプリを作っている
http://www.delphibasics.co.uk/RTL.asp?Name=formatdatetime
フォーマット文字列を作成するための基準として、以下のリンクを使用いただければ幸いです
uses
System.SysUtils;
function ValidateDate(ADate: string): boolean;
var
fs: TFormatSettings;
DateTime: TDateTime;
begin
fs := TFormatSettings.Create();
fs.DateSeparator := '/';
fs.ShortDateFormat := 'mmm/yy';
fs.LongDateFormat := 'mmm/yy';
result := true;
if not TryStrToDate(ADate, DateTime, fs) then
result := false;
end;
begin
try
if not ValidateDate('Oct/16') then
WriteLn('Failed to convert')
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
end.
リットルをやろうとしていますなぜこれが失敗するのかに関する考え方
Delphibasicsは使用しないでください。公式の文書を使用してください。あなたの結果は奇妙です。 'result:= TryStrToDate(...)'を使用してください。 –
おそらく[this post](http://stackoverflow.com/q/11782114/62576)(特に私が書いた答え)が役に立ちます。 –