2014-03-05 43 views
1

如何驗證'12 /一十三分之三12:00:00 AM '還'12 /13分之2912:00:00 AM'日期驗證隨時間使用正則表達式

我試圖

"^(?:0[1-9]|1[12])/(?:[0-2][0-9]|3[01])/[0-9]{4}\s(?:0[0-9]|1[1-2]):(?:[0-5][0-9]): (?:[0-5][0-9])\s(?:AM|PM)$" 

但不工作

+0

我建議做一個'DateTime.ParseExact',然後檢查你回來的日期。 – Baldrick

+0

你不能使用DateTime.TryParse方法嗎? –

+0

閏秒呢?請參閱:http://en.wikipedia.org/wiki/Leap_second – Toto

回答

5

爲什麼不簡單地使用DateTime.TryParse並檢查轉換是否成功。

string date = "12/3/13 12:00:00 AM"; 
DateTime dt; 
if(DateTime.TryParse(date,dt)) 
    // do something 
2

如果你想的日期是在正確的格式,你應該使用ParseExact與這些模式

d/M/yy h:mm:ss tt 
M/d/yy h:mm:ss tt