我在使用ParseExact
string _date = " 2014-06-23-12:40:18 "
DateTime dateresult = DateTime.ParseExact(
_date.Trim(),
"yyyy-MM-dd-hh:mm:ss",
CultureInfo.InvariantCulture,
DateTimeStyles.None)
dateresult
的值 23/06/2014 00:40:18 。问题是结果日期时间是0而不是12!我需要保持正常的小时计数器从0到23
答案 0 :(得分:1)
尝试使用HH
format specifier代替hh
DateTime dateresult = DateTime.ParseExact(_date.Trim(), "yyyy-MM-dd-HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None)
答案 1 :(得分:1)
尝试更改此代码。而不是......,使用HH 24小时格式
string _date = " 2014-06-23-12:40:18 ";
DateTime dateresult = DateTime.ParseExact(_date.Trim(), "yyyy-MM-dd-HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None);
答案 2 :(得分:1)
hh
format specifier适用于 12小时制,01
至12
。
使用H
format specifier 用于 24小时制,0
至23
。
“H”自定义格式说明符将小时表示为0的数字 到23;也就是说,小时由零基24小时表示 计算午夜以来的小时数的时钟。一位数小时是 没有前导零的格式化。
string _date = "2014-06-23-12:40:18";
DateTime dateresult = DateTime.ParseExact(_date.Trim(), "yyyy-MM-dd-H:mm:ss",
CultureInfo.InvariantCulture, DateTimeStyles.None);