2014-06-26 108 views
2

我提供了一個應用程序,用戶可以通過任何給定的格式字符串格式化任何日期。 我發現的問題如下:標準日期格式與自定義日期格式

比方說,我想將日期格式化爲單月份索引。這是今天的「6」。
但是:

DateTime.Today.ToString("dd.MM.yyyy") => 26.06.2014<br/> 
DateTime.Today.ToString("M") => **26 Juni**<br/> 
DateTime.Today.ToString("dM") => 266 

使用MSDN我發現,那個「M」是 - 如果使用單數 - 一個標準的格式說明,但如果與其他字符使用,它是一個自定義格式說明(http://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx; http://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx

問題:如何強制解釋給定的格式字符串始終作爲自定義格式說明符?

回答

4

在第二個的情況下,你需要指定的M是通過提供%符號的自定義格式說明:

Console.WriteLine(DateTime.Today.ToString("%M")); 

打印:

根據到MSDN: Custom Date and Time Format StringsMSDN: Using Single Custom Format Specifiers%符號:

將以下字符定義爲自定義格式說明符。

我猜如果用戶可以指定字符串,你應該總是用%來逃避它。

+1

下面是MSDN相關部分的鏈接:http://msdn.microsoft.com/en-us/library/8kb3ddd4%28v=vs.110%29.aspx#UsingSingleSpecifiers – crush

+1

就是這樣。謝謝。 我在回答之前閱讀了這部分內容,但很明顯沒有得到它。 – Norman