繁体   English   中英

DateTime Parse提取ss大于59时的秒数

[英]DateTime ParseExtract seconds when ss is more than 59

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

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

我怎样才能做到这一点?

其实我有一个文件名,其中包含验证时间。 ss将随机出现,可能是00到99,当它比59刨丝器时,我怎么显示00

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

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

当秒针说88时,我只会将其检入生产=)

Hexxagonal 可能拥有最明智的解决方案 ,但如果由于某些原因要替换的字符串为“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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM