.net - 格式化负 TimeSpan

我正在用 .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/

相关文章:

c# - 扩展内置类型的自定义格式功能

android - 使用电话号码格式 NaN 屏蔽 EditText,如 PhoneNumberUt

php - 去除字符串中的非数字字符

powershell - 在字符串中格式化 PowerShell Get-Date

css - 自定义 .sass 的格式输出?

formatting - 同时在多行中添加空格 - 在 Pycharm 中

android - 获取 Google Play 商店应用 HTML 动态徽章

c# - 如何避免浪费屏幕空间编写稀疏的 C# 代码?

javascript - Chart.js 数字格式

c# - 在 Console.WriteLine 方法中格式化字符串