簡體   English   中英

在C#中將MM:SS字符串轉換為HH:MM:SS

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

使用TimeSpan.ParseExact

例:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM