我有一个自定义DateTime
格式字符串:"M/d/yyyy h:m:ss tt"
.
例如,日期为“2012 年 9 月 18 日@中午”,我希望其输出类似于"9/18/2012 12:0:00 PM"
.
时间似乎格式正确,但日期部分却搞砸了。我看到日期格式为"MM-dd-yyyy"
,我不知道为什么。
这是一些重现问题的示例代码:
var datetime = DateTime.Now;
Console.WriteLine("Date: " + datetime.ToString("MMMM d, yyyy")); // Date: October 11, 2012 --> correct
Console.WriteLine("Date: " + datetime.ToString("M/d/yyyy h:m:ss tt")); // Date: 10-11-2012 4:34:17 PM --> wrong
这是自定义 DateTime 格式字符串的 MSDN 文档。
关于我做错了什么的任何想法?我怎样才能达到我想要的结果?
编辑:
示例代码的最后一行不正确的是连字符而不是斜杠,我不知道为什么。
另外,我的电脑语言设置为英语(加拿大)。但是我的“短”和“长”日期格式看起来都不像M-d-yyyy
,所以我不知道它是从哪里来的。