当ss大于59时,DateTime ParseExtract秒

时间:2014-10-07 04:45:32

标签: c# datetime

s_Time = DateTime.ParseExact("113388", "HHmmss", null);

ss超过59时出错。如何避免这种情况。  如果ss超过59,我想将其显示为00。

我怎样才能实现这个目标?

实际上我有一个包含验证时间的文件名。 ss会随机出现,可能是00到99,但是当它的重量超过59时,我必须显示00

2 个答案:

答案 0 :(得分:1)

跟进我的评论,这对我来说最有意义。将字符串视为添加到您解析的小时和分钟。

var temp = "113388";
s_Time = DateTime.ParseExact(temp.Substring(0, 4
), "HHmm", null).AddSeconds(int.Parse(temp.Substring(4)));

当秒针说88但=)

时,我只会检查这个

答案 1 :(得分:0)

Hexxagonal probably has the most sensible solution,但是如果你 因某种原因想要用" 00"替换字符串的最后部分(秒)当值高于59,更新分钟部分时,这应该有效:

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);