我正在使用.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# - 如何将TimeSpan格式化为.NET 4.0之前的字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11579070/

10-17 00:50