C# · 12月 24, 2021

c# – TimeSpan ToString“[d.] hh:mm”

我试图格式化一个TimeSpan到字符串.
然后我从MSDN到期以生成我的自定义字符串格式.
但它不是话.它返回“FormatException”.

为什么?我不明白…

var ts = new TimeSpan(0,3,25,0);var myString = ts.ToString(“[d’.’]hh’:’mm”);解决方法 我认为,你正在尝试像 c standard format的可选日期和小数秒的部分.据我所知,这不是自定义格式字符串的直接可能. TimeSpan FormatString with optional hours是你有同样的问题,我会建议类似于他们的解决方案:有一个扩展方法为你建立格式字符串. public static string ToMyFormat(this TimeSpan ts){ string format = ts.Days >= 1 ? “d’.’hh’:’mm” : “hh’:’mm”; return ts.ToString(format);}

然后用它:

var myString = ts.ToMyFormat();