指定した文字列が、日付文字列形式かどうかチェックする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#] 日時書式フォーマット一覧