DataFormatString TimeSpan - 如何显示超过 24 小时?

问题描述

也许我混淆了一些东西,但我不知道是否有一种方法可以将 TimeSpan 的值格式化为:4.21:02:00 为 117 小时 2 分钟(将全天更改为小时)

我已经使用 CustomDrawCell 完成了它,它可以工作,但似乎有点矫枉过正。

此外,如果显示 Grid,则会发生 CustomDrawCell 事件,但是虽然我想打印该网格,但“当您打印或导出 Grid 数据时,会忽略...对此事件的修改。”

我怎样才能做到这一点:

[displayFormat(DataFormatString = "{0:HH} 小时,{0:mm} 分钟")]

或者其他自定义显示格式?

解决方法

参考这篇文章:Format TimeSpan greater than 24 hour

细分:

return string.Format("{0}hr {1}mn {2}sec",(int) span.TotalHours,span.Minutes,span.Seconds);

信用:用户:https://stackoverflow.com/users/22656/jon-skeet

或查看来自用户的同一帖子的答案:https://stackoverflow.com/users/3120446/dx-over-dt