C 正規表示式判斷輸入日期格式是否正確

2021-05-22 21:54:53 字數 1167 閱讀 9707

///

/// 是否為日期型字串

///

/// 日期字串(2008-05-08)

///

public static bool isdate(string strsource)

return regex.ismatch(strsource, @"^((((1[6-9]|[2-9]/d)/d)-(0?[13578]|1[02])-(0?[1-9]|[12]/d|3[01]))|(((1[6-9]|[2-9]/d)/d)-(0?[13456789]|1[012])-(0?[1-9]|[12]/d|30))|(((1[6-9]|[2-9]/d)/d)-0?2-(0?[1-9]|1/d|2[0-9]))|(((1[6-9]|[2-9]/d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$");

///

/// 是否為時間型字串

///

/// 時間字串(15:00:00)

///

public static bool istime(string strsource)

return regex.ismatch(strsource, @"^((20|21|22|23|[0-1]?/d):[0-5]?/d:[0-5]?/d)$");

///

/// 是否為日期+時間型字串

///

///

///

public static bool isdatetime(string strsource)

return regex.ismatch(strsource, @"^(((((1[6-9]|[2-9]/d)/d)-(0?[13578]|1[02])-(0?[1-9]|[12]/d|3[01]))|(((1[6-9]|[2-9]/d)/d)-(0?[13456789]|1[012])-(0?[1-9]|[12]/d|30))|(((1[6-9]|[2-9]/d)/d)-0?2-(0?[1-9]|1/d|2[0-8]))|(((1[6-9]|[2-9]/d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-)) (20|21|22|23|[0-1]?/d):[0-5]?/d:[0-5]?/d)$ ");

日期時間判斷正規表示式

這裡是判斷yyyy mm dd這種格式的,基本上把閏年和2月等的情況都考慮進去了,不過我已經忘了在 找到的。1 6 9 2 9 d d 0?13578 1 02 0?1 9 12 d 3 01 1 6 9 2 9 d d 0?13456789 1 012 0?1 9 12 d 30 1 6 9 2 ...

正規表示式判斷時間格式

日期格式yyyy patternsdict.date y d 日期格式yyyy mm patternsdict.date ym d 0 d 1 0 2 日期格式yyyy mm dd patternsdict.date ymd d 0 d 1 0 2 0 d 12 d 3 01 時間格式hh patt...

正規表示式 日期

1 日期範圍 datetime 值型別表示值範圍在公元 紀元 0001 年 1 月 1 日午夜 12 00 00 到公元 c.e.9999 年 12 月 31 日晚上 11 59 59 之間的日期和時間。2 閏年 關於公曆閏年是這樣規定的 地球繞太陽公轉一周叫做一回歸年,一回歸年長365日5時48分...