2012-04-27 45 views
0

在客戶端,我正在驗證將被推送到.NET框架的字符串,並且我需要知道哪些格式將被.NET Framework有效和識別。.NET MVC是否接受DateTime對象的單位數字日/月字符串?

http://msdn.microsoft.com/en-us/library/1k1skd40.aspx列出了已識別的格式,但並未回答我所有的問題。

對於日期: 單位數日/月是否有效?
2位數年份有效嗎?

For Time: am/pm的格式有效嗎?我可以看到的可能的字符串是:('a','p','a','p','am','pm','am','pm')

回答

4

.NET可以解析日期單日/月和2位數年沒有問題。

您需要使用custom format string

DateTime.ParseExact("9/1/12", "d/M/yy", 
        CultureInfo.InvariantCulture, 
        DateTimeStyles.None) 

如果你想測試多種格式,您可以通過格式化字符串數組作爲第二個參數:

DateTime.ParseExact("9/1/12", new [] { "d/M/yy", "dd/MM/yyyy" } 
        CultureInfo.InvariantCulture, 
        DateTimeStyles.None) 
+1

太棒了!只是我正在尋找和找不到的文檔。希望這也能指出其他人正確的方向。 – Brian 2012-04-27 17:56:54

+0

問題雖然 - 上面的代碼是否接受「dd/mm/yyyy」forrmat還是需要邏輯運算符來處理這種靈活性? – Brian 2012-04-27 17:58:25

+1

@Brian - 它會接受兩位數的日期和月份。但是你可以在第二個參數中提供一個_array_格式的字符串,它們都將被測試。我會張貼另一個例子。 – Oded 2012-04-27 18:00:30

0

是,日期時間解析函數接受單數月份和日子和2數年。我不知道「我」在我頭頂的「a」。

但是,只是一個建議 - 我並不是故意在這裏嗤之以鼻,我真的認爲這是一個建設性的建議:這是一個問題,你可以通過編寫一個5行測試程序更快地回答,運行它並查看發生的情況,然後在論壇上發佈。那麼你不僅不必坐下來等待答案,而且你可以百分之百地知道答案是否正確,而不是浪費時間,因爲有人張貼錯誤的答案。

+0

夠公平的周杰倫。我同意你的看法,儘管它沒有直接回答這個問題。下次會做。 – Brian 2012-04-27 17:59:33

相關問題