Jes*_*ebb 8 c# string datetime .net-4.0 datetime-format
我有一个自定义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
Run Code Online (Sandbox Code Playgroud)
关于我做错什么的任何想法?我怎样才能达到理想的效果?
编辑:
示例代码的最后一行中不正确的是有连字符而不是斜线,我不知道为什么.
此外,我的计算机语言设置为英语(加拿大).但是我的"短"或"长"日期格式看起来都不是M-d-yyyy这样,我不知道它来自哪里.
MiM*_*iMo 17
/是日期分隔符,它取决于文化 - 在您当前的文化中它被定义为-.如果你想要一直/使用:
Console.WriteLine("Date: " + datetime.ToString("M\"/\"d\"/\"yyyy h:m:ss tt"));
Run Code Online (Sandbox Code Playgroud)
要么
Console.WriteLine("Date: " + datetime.ToString("M'/'d'/'yyyy h:m:ss tt"));
Run Code Online (Sandbox Code Playgroud)
即将要输出的部分"按原样"放在引号内.
lah*_*rah 13
尝试:
datetime.ToString("M/d/yyyy h:m:ss tt", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)
您的文化可能会覆盖您的日期分隔符.
| 归档时间: |
|
| 查看次数: |
7790 次 |
| 最近记录: |