Delphi Tips 
-----------------------------

0250  D1   D2   D3   D4   D5   D6   D7   3.1   95   98    作成: 1999/09/09 osamu rev 1.2
   B1   B3   B4   B5   B6   B7   NT3   NT4   2K   XP  更新: 1999/09/09 osamu 編集
文字列を TDateTime に変換する

文字通り StrToDateTime という関数もあるんですが、これは yyyy/mm/dd などの形式にしか対応していません。ちょっとひねって VarToDateTime を使えば、ほぼどんな形式でもうまく変換できます。string -> Variant は自動で変換されるので、そのまま文字列を渡すだけで使えます。

MyDateTime := VarToDateTime('平成1年1月1日午後1時1分1秒');

全角数字もOKですが、さすがに '平成九年九月九日' は無理でした。

VarToDateTime('1999/1/2') = VarToDateTime('1/2/1999');

の結果は、True になりました。

注意点として、VerToDateTime は StrToDateTime と違い、ShortDateFormat グローバル変数を見ていないようです。

    ShortDateFormat:='DD/MM/YY';
    ShowMessage(FloatToStr(VarToDateTime('2/1/1999')-VarToDateTime('平成11年2月1日')));

の結果は 0 になります。
参照: <文字列> <日時> <PASCAL>

[新規作成] [最新の情報に更新]

How To
Lounge
KeyWords


Tips
Delphi
Home
Osamu Takeuchi osamu@big.or.jp