DateTime.ParseExact的格式字符串 - 什么小时格式适用于" tt"?

时间:2017-05-05 15:44:30

标签: c# .net ironpython

我想将字符串5/4/2017 2:15:50 PM转换为日期时间。我用了

statustime="5/4/2017 2:15:50 PM"
statustimefrm=DateTime.Parse(statustime, Globalization.CultureInfo.CurrentCulture)

并且它有效,但我宁愿使用ParseExact。我用了

statustimefrm=DateTime.Parse(statustime,  "M/d/yyyy HH:mm:ss tt",Globalization.CultureInfo.CurrentCulture)

但它给了我一个格式错误。有人会知道要使用的格式吗?

2 个答案:

答案 0 :(得分:5)

" HH"与" tt"不兼容 - 你有24小时的时间或12小时加上AM / PM指示符。您需要使用h for time

 DateTime.ParseExact("5/4/2017 2:15:50 PM",  "M/d/yyyy hh:mm:ss tt",
       new CultureInfo("en-US")) 

答案 1 :(得分:2)

这对我有用

DateTime.ParseExact(timespan, "M/d/yyyy h:mm:ss tt", CultureInfo.InvariantCulture);