我正在使用.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/