簡體   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