正则表达式生日的日期时间

时间:2012-01-19 13:20:10

标签: c# regex

我想在c#中写一个正则表达式 这将检查日期(DD / MM / YYYY)。

任何日期(01/01/0000)或(12/12/9999)也可以。 白天的时间必须是01-12, 月份时间必须是01-12, 年份时间必须从0000-9999起 他们之间必须是“/".

3 个答案:

答案 0 :(得分:6)

  

我正在尝试在c#中编写一个用于检查日期的正则表达式

不,您不需要编写正则表达式来检查日期。这将是一种矫枉过正。您可以使用DateTime.TryParseExact方法。

DateTime date;
string someDateToCheck = "12/12/9999";
if (DateTime.TryParseExact(someDateToCheck, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out date))
{
    // the date was successfully parsed. You can use the date instance here
}

答案 1 :(得分:3)

我可以建议使用DateTime.TryParse吗?根据用户所在的位置,日期格式应不同(dd / mm与mm / dd)。当有完整的,经过测试的现有代码来完成这项工作时,正则表达式并不是很好。

答案 2 :(得分:2)

^([012]\d|30|31)/(0\d|10|11|12)/\d{4}$

应该这样做!