共通関数

[C#共通関数] 日付文字列形式かどうかチェックするFunction

2022年3月10日

指定した文字列が、日付文字列形式かどうかチェックするFunctionです。

サンプルFunction

例)日付文字列形式(yyyy/MM/dd形式)かどうかチェックするFunction


using System.Globalization;

/// <summary>
/// 日付文字列形式かどうかチェックするFunction
/// </summary>
/// <param name="val">対象文字列</param>
/// <returns>true:日付文字列 false:日付文字列ではない</returns>
public static bool isDateString(string val)
{
  string fmt = "yyyy/MM/dd";
  CultureInfo ci = CultureInfo.CurrentCulture;
  DateTimeStyles dts = DateTimeStyles.None;
  DateTime dt;
  return DateTime.TryParseExact(val, fmt, ci, dts, out dt);
}

8行目にチェックしたい日付文字列の形式を指定してください。

使用例

結果はbool型で返ります


bool b = isDateString("2022/12/31");
→True //正しい日付文字列なのでTrueです。

bool b = isDateString("2022/12/32");
→False //32日は存在しないのでFalseになります。

bool b = isDateString("2022/13/31");
→False //13月は存在しないのでFalseになります。

bool b = isDateString("abc");
→False //文字列なのでFalseになります。

備考

  • チェックしたい日付形式を変更したい場合は8行目のフォーマット文字列を変更してください。
  • フォーマット文字列は以下記事を参考にしてください。
    [C#] 日時書式フォーマット一覧

関連記事

-共通関数
-,