[英]Convert MM:SS string to HH:MM:SS in C#
我有這段代碼,可以很好地將HH:MM:SS轉換為整數秒。
for (int i = 0; i < nrdaily.Rows.Count; i++)
{
double NRT = TimeSpan.Parse(nrdaily.Rows[i][3].ToString()).TotalSeconds;
nrdaily.Rows[i][3] = NRT;
}
但是,我正在處理一個CSV文件,其中字段具有以MM:SS格式存儲的許多值,TotalSeconds似乎將其誤解為HH:MM並給出了錯誤的結果。
如何檢查字符串是否為HH:MM:SS格式,以及是否為MM:SS並將其轉換為HH:MM:SS?
例:
var testString = "01:05";
TimeSpan.ParseExact(testString, "mm\\:ss", CultureInfo.InvariantCulture).TotalSeconds;
//TotalSeconds will be 65
您可以檢查字符串長度,以便入門人員確定格式。
for (int i = 0; i < nrdaily.Rows.Count; i++)
{
string time = nrdaily.Rows[i][3].ToString();
if (time.Length == 5)
time = "00:" + time;
double NRT = TimeSpan.Parse(time).TotalSeconds;
nrdaily.Rows[i][3] = NRT;
}
檢查長度是一種非常簡單的方法。 為了更准確地識別格式,可以使用正則表達式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.