2

Delphi 7 の TStringList に、その関数の戻り値を入力します。

function  dateTime2str(td : TDateTime) : string;
var
  iformatsettings : tformatsettings;
begin
  GetLocaleFormatSettings(LOCALE_USER_DEFAULT, iformatsettings);

  result := DateTimeToStr(td, iFormatSettings);
end;

次に、その関数を使用して TStringList の各値を読み取ります。

function str2DateTime(s : string) : TDateTime;
var
  iformatsettings : tformatsettings;
begin

  GetLocaleFormatSettings(LOCALE_USER_DEFAULT, iformatsettings);


  result := strtodatetime(s,iFormatSettings);

end;

しかし、それは EConvertError 例外を引き起こします: '6/7/12 3:02:31 AM' は有効な日付と時刻ではありません。

なんで ?

どうもありがとう

4

1 に答える 1

0

FormatDateTime を使用すると、日付と時刻の正確な形式がわかるため、取得すると、ロケール構成に依存するのではなく、まったく同じになります。

最初の関数が 1 つのコンピューターで実行され、2 番目の関数が別のコンピューターで実行された場合、最初のアプローチを使用しても問題が発生します。

于 2012-07-06T17:43:53.377 に答える