Sha*_*ngh 3 datetime .net-4.0 string-formatting
我试图使用格式将DateTime对象转换为字符串,但由于一些奇怪的原因,它忽略了AM/PM.它只需要在对象中获取小时的大小.
我使用以下格式:
StartDate.ToString("yyyy-MM-dd hh:mm:ss.fff");
Run Code Online (Sandbox Code Playgroud)
和
String.Format("0:yyyy-MM-dd hh:mm:ss.fff", StartDate);
Run Code Online (Sandbox Code Playgroud)
我不认为两者之间存在差异,只是想试一试.如果我通过值4/28/2012 6:00:00 AM或4/28/2012 6:00:00 PM,结果是相同的"2012-04-27 06:00:00.000"
您hh使用的是12小时制.你想要HH哪个使用24小时制.
有关自定义格式字符串的详细信息,请参阅MSDN.
请注意,您可能希望指定不变文化,除非您确实希望时间分隔符依赖于当前文化:
string formatted = StartDate.ToString("yyyy-MM-dd HH:mm:ss.fff",
CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)
(请注意,如果你将格式字符串传递给你,你就不应该有大括号ToString.我会假设这只是问题中的一个错字.)
如果要使用12小时制,请使用tt格式字符串生成AM/PM指示符.