我正在用 .Net 中的时间跨度做一些数学运算,有时总和会导致时间跨度为负。当我显示结果时,我无法将其格式化为包含否定指示符。
Dim ts as New Timespan(-10,0,0)
ts.ToString()
这将显示“-10:00:00”,这很好,但我不想显示秒,所以试试这个。
ts.ToString("hh\:mm")
这将返回“10:00”并从前面删除了“-”,这是问题的症结所在。我目前的解决方案是这样的:
If(ts < TimeSpan.Zero, "-", "") & ts.ToString("hh\:mm")
但我希望只使用格式字符串来完成同样的任务。
最佳答案
我在 TimeSpan.ToString(...) 上使用了 .Net Reflector,它看起来确实不支持自定义格式的任何形式的负前缀 - 所以我认为你不走运让它像上面那样为你工作。 :(
https://stackoverflow.com/questions/3223902/