[英]Converting a value of more than 59 (seconds) effectively into a DateTime
[英]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.