実在しない日付の文字列をStrToDate関数を使ってDateTime型に変換してもエラーになりません

バージョン4.5.1までの場合、これは仕様で、例えば「2010/02/30」は「2010/03/02」として扱われます。

実在する日付かどうかをチェックするには、次の方法があります。

※ここでは日付文字列のフォーマットは「yyyy/MM/dd」とします。

  1. StrToDate関数でDateTime型に変換する。
  2. FormatDate関数で「yyyy/MM/dd」形式に変換する。
  3. 元の日付文字列と2で出力される日付文字列を比較する。

上記の3で、値が同じであれば実在するということがわかります。

※バージョン4.6以降ではエラーになるように仕様変更されました。
※バージョン1812からはStrToDate関数が非推奨となります。
FAQ「バージョン1812からStrToDate関数が非推奨になったようですが?」も参照してください。

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています

他のキーワードで検索する