C# 当ss大于59时,DateTime解析提取秒数
C# 当ss大于59时,DateTime解析提取秒数,c#,datetime,C#,Datetime,s_Time=DateTime.ParseExact(“113388”,“HHmmss”,null) 当ss大于59时获取错误。如何避免这种情况。 如果ss大于59,我想将其显示为00 我怎样才能做到这一点 实际上,我有一个文件名,其中包含验证时间。ss会随机出现,可能是00到99,但是当00大于59时,我必须显示00来跟进我的评论,这对我来说是最有意义的。将字符串视为添加到解析的小时和分钟上 var temp = "113388"; s_Time = DateTime.ParseExact(t
s_Time=DateTime.ParseExact(“113388”,“HHmmss”,null)代码>
当ss
大于59时获取错误。如何避免这种情况。
如果ss
大于59,我想将其显示为00
我怎样才能做到这一点
实际上,我有一个文件名,其中包含验证时间。ss会随机出现,可能是00到99,但是当00大于59时,我必须显示00来跟进我的评论,这对我来说是最有意义的。将字符串视为添加到解析的小时和分钟上
var temp = "113388";
s_Time = DateTime.ParseExact(temp.Substring(0, 4
), "HHmm", null).AddSeconds(int.Parse(temp.Substring(4)));
我只会在秒针显示88虽然=)Hexxagonal时将其检查到生产中,但是如果出于某种原因,您希望在值高于59时将字符串的最后一部分(秒)替换为“00”,而不更新分钟部分,那么这应该可以工作:
var input = "113388"; // original
var secsPart = input.Substring(4);
// Get 00 if over 59, else keep the seconds as they are:
var seconds = int.Parse(secsPart) > 59 ? "00" : secsPart;
var editedInput = input.Substring(0,4) + seconds;
var s_Time = DateTime.ParseExact(editedInput, "HHmmss", null);
“ss”要求文档中的数字为00到59,如果需要其他内容,则必须自定义解析字符串。另外,它不应该显示为00并加上一分钟吗?您能提供更多关于为什么要这样做的信息吗?如果我们知道您的意思是表示一天中的某个时间,还是表示经过的时间,这会有所帮助。但是不管怎样,一分钟内有88秒是没有意义的。而且,我假设你的意思是第一个参数是字符串,而不是整数?如果是这样,您需要引号。