我想檢查日期是否具有正確的格式。有沒有像正確的日期的很多可能性:DateTime.TryParse所有可能的日期類型
- 2010年8月2日
- 2010年8月2日
- 2010年8月2日02.08
- 02.August
- ...
我可以用這樣的代碼測試每個:
if (DateTime.TryParse(DateTime.ParseExact(date, "dd.M.",
new CultureInfo("sl-SI")).ToString(), out dt))
但是我可以有40條if語句。是否可以使用一個if語句或一個循環來檢查所有日期?
更新:
基於答案爲止,我測試的代碼,但我有更多的一個問題。如果我剛纔沒有9.2那麼2010年2月9日該代碼將無法正常工作:
CultureInfo ci = CultureInfo.GetCultureInfo("sl-SI");
string[] fmts = ci.DateTimeFormat.GetAllDateTimePatterns();
if (DateTime.TryParseExact(date, fmts, ci, DateTimeStyles.AssumeLocal, out dt))
{
DateTime = Convert.ToDateTime(date);
Check = true;
}
我必須手動添加此次我能做些什麼?
您如何接受每種可能的日期格式作爲有效輸入? – 2010-04-27 17:24:31
請添加更新到您的問題或使用評論功能。也請不要使用答案說謝謝,使用評論或更好,upvote和標記爲接受:http://blog.stackoverflow.com/2011/01/how-to-say-thanks-in-an-answer/ – Kev 2011-01-29 15:36:58
可能也想看到這個[robust-datetime-parser-library-for-net](http://stackoverflow.com/questions/7297622/robust-datetime-parser-library-for-net) – nawfal 2014-01-30 08:05:01