我試圖分析包含了一個月,一年("April 2017"
例如)爲DateTime
的字符串:解析字符串日期時間與格式「MMMM YYYY」
var foo = DateTime.ParseExact(dateToParse, "MMMM yyyy", null, DateTimeStyles.None);
然而結果的格式是04/01/2017 00:00:00
而不是April 2017
。我錯過了什麼?
我試圖分析包含了一個月,一年("April 2017"
例如)爲DateTime
的字符串:解析字符串日期時間與格式「MMMM YYYY」
var foo = DateTime.ParseExact(dateToParse, "MMMM yyyy", null, DateTimeStyles.None);
然而結果的格式是04/01/2017 00:00:00
而不是April 2017
。我錯過了什麼?
「我試圖解析字符串」並解析您的字符串到DateTime
工作沒有問題。
一個DateTime
有一個值,沒有格式,如果你想再次得到另一刺痛表示,在必須使用DateTime.ToString
特定的格式DateTime
。
例如:
DateTime dt = DateTime.ParseExact("April 2017", "MMMM yyyy", null, DateTimeStyles.None);
string monthAndYear = dt.ToString("MMMM yyyy"); // same as your original string "April 2017"
04/01/2017 00:00:00
是您解析的DateTime實例的價值默認格式格式化輸出。
DateTime沒有隱式格式。
如果你想在你提到,你需要做的是這樣foo.ToString("MMMM yyyy")
是的,你錯過了日期時間沒有一個隱含的格式的形式來顯示。這就是爲什麼你必須解析和格式化它的價值。 – Fildor
您錯過了'foo'是'DateTime.ParseExact()'返回的結構的事實,它是'DateTime'類型的對象。 *它沒有格式*。您正在使用默認格式對其進行字符串化。 Google DateTime.ToString()以您喜歡的任何方式瞭解如何將DateTime格式化爲字符串。 –
04/01/2017是2017年四月,或者我錯過了什麼? –