以下の日付範囲にREGXを提案できますか
フォーマットは CCYYMMDD 19000101~20001231 空白
私はREGXを初めて使用します。助けてください。
日時を解析するための正規表現??? 賢者はかつてこう言いました。
問題に直面したときに、次のように考える人もいます。
わかりました、正規表現を使用します。
現在、彼らには 2 つの問題があります。
さあ、次のようなタスク用の組み込みメソッドがありますDateTime.TryParseExact
。
string dateStr = "19000101";
DateTime date;
if (DateTime.TryParseExact(dateStr, "yyyyMMdd", CultureInfo.InvariantCulture, DateTimeStyles.None, out date)
{
// you could safely use the date instance created for you here
}
else
{
throw new InvalidFormatException("Sorry the date you have given me is not in the expected format");
}
前述のメソッドを使用して日付を解析したので、この日付が予想される範囲内にあるかどうかを簡単にテストできます。
DateTime start = new DateTime(1900, 1, 1);
DateTime end = new DateTime(2000, 12, 31);
DateTime date = ... use the previous method to parse your string
if (date > start && date < end)
{
// success
}
else
{
// the date is outside the range
}