我试图分析包含了一个月,一年("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年四月,或者我错过了什么? –