具有负时间跨度的字符串格式

时间:2014-05-13 11:14:58

标签: c# string timespan

我遇到了带有时间跨度的字符串格式的问题。

string.Format("{0:00}:{1:00}", Math.Floor(ts.TotalHours), ts.Minutes)

哪会产生这个结果 12:08 ,但问题是它可以进入减去然后它看起来像 -01:-59 这是不正确的应该看起来像这样 -01:59 。 我曾尝试使用Math.Abs​​,但即使数字为-56,它也只显示0 处理这个问题的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

您可以使用Math.Abs

string.Format("{0:00}:{1:00}", Math.Floor((decimal)ts.Hours), Math.Abs(ts.Minutes))

示例:

TimeSpan ts = new TimeSpan(-1, -1, 0); // returns -01:01

ts = new TimeSpan(-1, 1, 0); // returns -00:59

ts = new TimeSpan(1, 1, 0); // returns 01:01