我必须用c#验证DateTime。 所以我构建了这段代码:
Portletname-portlet.war
现在如果我使用这个日期
2016-06-09 11:20:50.125
没关系,但如果我尝试使用这个日期
2016-06-09 13:20:50.125
日期不是valide。问题出在时间上。从1到12,没关系。从13到24不行。 我该如何修理它?
答案 0 :(得分:4)
您的格式会显示出来。将hh
替换为HH
:
private const string Format = "yyyy-MM-dd HH:mm:ss.fff";
参考:https://msdn.microsoft.com/en-US/library/8kb3ddd4(v=vs.110).aspx
答案 1 :(得分:1)
您传递给hh
的格式中的DateTime.TryParseExact()
需要12小时格式的小时。
如果您有24小时格式的时间,则必须将其更改为HH
:
private const string Format = "yyyy-MM-dd HH:mm:ss.fff";
答案 2 :(得分:1)
hh
specifier用于12-hour clock格式,表示从01
到12
的小时数。请使用HH
specifier代替24-hour clock格式,并将00
代表23
。
private const string Format = "yyyy-MM-dd HH:mm:ss.fff";
答案 3 :(得分:0)
您的格式字符串
yyyy-MM-dd hh:mm:ss.fff
hh
指定您希望时间以12小时表示
使用HH
代替hh
,它应该按预期工作