[英]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.