我正在使用 C#,如果我这样做的话
DateTime.ParseExact("4/4/2010 4:20:00 PM", "M'/'d'/'yyyy H':'mm':'ss' 'tt", null)
返回值始终为凌晨 4:20——我使用 tt 做错了什么?
谢谢!
最佳答案
将小时格式 (H
) 小写如下:
DateTime.ParseExact(
"4/4/2010 4:20:00 PM",
"M/d/yyyy h:mm:ss tt",
CultureInfo.InvariantCulture);
大写的“H”表示 24 小时制,小写的“h”表示 12 小时制,并且会考虑候选字符串中的 AM/PM。
旁注:最好为这样的方法提供 IFormatProvider
的实例(即使它只是 CultureInfo.InvariantCulture
)。在您遇到问题之前,这是真正无关紧要的事情之一,因此养成指定文化信息的习惯可能会很好。
关于c# - 为什么 DateTime.ParseExact() 不能使用 “4/4/2010 4:20:00 PM” “M'/'d'/'yyyy H' :'mm' :'ss' 'tt” 解析 0x104567910 中的 AM/PM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2596969/