C# 如何在C语言中将字符串解析为日期时间格式#
我有一个字符串,其中包含日期时间C# 如何在C语言中将字符串解析为日期时间格式#,c#,C#,我有一个字符串,其中包含日期时间 string S="08/18/2013 24:00:00" DateTime DT = DateTime.ParseExact(S, "MM/dd/yyyy HH:mm:ss", null); 我想将其解析为日期时间,但显示了这样一个异常。 calendar System.Globalization.GregorianCalendar中不支持由字符串表示的日期时间 请告诉我这个问题的解决办法。问题是24小时DateTime不支持此功能 string S="0
string S="08/18/2013 24:00:00"
DateTime DT = DateTime.ParseExact(S, "MM/dd/yyyy HH:mm:ss", null);
我想将其解析为日期时间,但显示了这样一个异常。
calendar System.Globalization.GregorianCalendar中不支持由字符串表示的日期时间
请告诉我这个问题的解决办法。问题是24小时<据我所知,code>DateTime不支持此功能
string S="08/18/2013 00:00:00"; // here is the first problem occurred
DateTime DT = DateTime.ParseExact(S, "MM/dd/yyyy hh:mm:ss", System.Globalization.CultureInfo.InvariantCulture);
选项:
- 使用我的项目,但基本上通过增加一天来处理它(它不会保留这一天和“前一天结束”之间的差异)
- 继续使用
,在出现“24:00:00”时手动将其替换为“00:00:00”,并记住在之后添加一天DateTime
DateTime
/LocalDateTime
一起保存
您还应该像其他答案所建议的那个样使用不变的区域性进行解析——您并没有试图解析特定于区域性的字符串;您知道确切的分离器等。来自
“HH”自定义格式说明符(加上任意数量的附加“H”
说明符)以从00到23的数字表示小时;那个
也就是说,小时由一个以零为基础的24小时计时时钟表示
从午夜开始的几个小时
因此,在这种情况下,使用24
作为一小时是无效的
尝试使用hh
格式,改为使用00
string S = "08/18/2013 00:00:00";
DateTime DT = DateTime.ParseExact(S, "MM/dd/yyyy hh:mm:ss", CultureInfo.InvariantCulture);
这里有一个
如果你真的想用24:00:00作为一个小时,看看由开发的。只是一个想法没有时间24:00:00。不知道这是否是你的问题。@ckv:ISO-8601中有。这是“一天的末日”。J.J.斯基特感谢这个有趣的事实。@ USE18182191考虑接受一个答案。很好的捕捉,我没有注意到24: