c# – 如何在.NET 4.0之前将TimeSpan格式化为字符串

我在C#中使用.NET 3.5进行编译,并尝试将TimeSpan转换为字符串并格式化字符串.我想用

myString = myTimeSpan.ToString(“c”);

但是,在.NET 4.0和我使用.NET 3.5之前,TimeSpan.ToString方法不会将格式字符串作为参数.

那么你将如何格式化一个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格式化为字符串 - 代码日志