Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 当ss大于59时,DateTime解析提取秒数_C#_Datetime - Fatal编程技术网

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秒是没有意义的。而且,我假设你的意思是第一个参数是字符串,而不是整数?如果是这样,您需要引号。