在 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?
您可以检查字符串长度以供初学者识别格式。
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;
}
检查长度是一种非常简单的方法。为了更准确地识别格式,您可以使用正则表达式。
示例:
var testString = "01:05";
TimeSpan.ParseExact(testString, "mm\:ss", CultureInfo.InvariantCulture).TotalSeconds;
//TotalSeconds will be 65
我有这段代码可以很好地将 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?
您可以检查字符串长度以供初学者识别格式。
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;
}
检查长度是一种非常简单的方法。为了更准确地识别格式,您可以使用正则表达式。
示例:
var testString = "01:05";
TimeSpan.ParseExact(testString, "mm\:ss", CultureInfo.InvariantCulture).TotalSeconds;
//TotalSeconds will be 65