我正在使用 .NET 3.5 在 C# 中进行编译,并尝试将 TimeSpan 转换为字符串并设置字符串格式。我想用
myString = myTimeSpan.ToString("c");
但是 TimeSpan.ToString
方法直到 .NET 4.0 才将格式字符串作为参数,而我使用的是 .NET 3.5。
那么您如何将 TimeSpan 格式化为字符串?我的最终目标是以 hh:mm:ss
格式显示 TimeSpan,但目前正在接收 hh:mm:ss:fffffff
。
我试过用
myString = string.Format("{0:hh:mm:ss}", myTimeSpan);
但 string.Format 仅格式化我的 DateTime 并且在尝试格式化 TimeSpan 时传递不同的格式字符串不起作用。
最佳答案
一种方法是:
TimeSpan ts = DateTime.Now - DateTime.Now.AddHours(-10);
Console.WriteLine(string.Format("{0:00}:{1:00}:{2:00}", ts.TotalHours, ts.Minutes, ts.Seconds));
结果会是这样的:
09:59:59
编辑:
或者你可以试试:
TimeSpan ts = DateTime.Now - DateTime.Now.AddHours(-10);
DateTime mydate = new DateTime(ts.Ticks);
Console.WriteLine(mydate.ToString(("hh:mm:ss")));
输出将是:
09:59:59
关于c# - 如何在 .NET 4.0 之前将 TimeSpan 格式化为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11579070/