如果我得到这样一个输出 - TimeSpan
对象 - 如果没有额外的零和那么多小数位,我怎么能很好地得到它?
答案 0 :(得分:4)
这已在.NET 4.0中修复,TimeSpan结构获取了一个ToString()重载,允许您指定格式字符串。如果您无法升级,则可以考虑使用此扩展方法:
public static class Extensions {
public static string Format(this TimeSpan ts, string format) {
var dt = new DateTime(Math.Abs(ts.Ticks));
var result = dt.ToString(format);
if (ts.Ticks < 0) result = "-" + result;
return result;
}
}
样本用法:
var ts = new TimeSpan(1, 2, 3);
var s = ts.Format("h:mm:ss");
制作1:02:03
答案 1 :(得分:1)
如果您的目标是.NET 4,则可以使用TimeSpan.ToString(string)
overload
在不知道您的确切要求的情况下,“g”TimeSpan Format String可能就是您所需要的:
一般短格式
此说明符仅输出所需内容。它是文化敏感的,采取形式
[-][d’:’]h’:’mm’:’ss[.FFFFFFF]
。