c# - 格式化 TimeSpan 大于 24 小时

假设我将一些秒转换为 TimeSpan 对象,如下所示:

Dim sec = 1254234568
Dim t As TimeSpan = TimeSpan.FromSeconds(sec)

如何将 TimeSpan 对象格式化为如下格式:

>105hr 56mn 47sec

有内置函数还是需要写自定义函数?

最佳答案

嗯,最简单的做法是自己格式化,例如

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

在 VB 中:

Public Shared Function FormatTimeSpan(span As TimeSpan) As String
    Return String.Format("{0}hr {1}mn {2}sec", _
                         CInt(Math.Truncate(span.TotalHours)), _
                         span.Minutes, _
                         span.Seconds)
End Function

我不知道 .NET 4 中的任何 TimeSpan 格式是否会使这更简单。

https://stackoverflow.com/questions/3505230/

相关文章:

java - 使用 DecimalFormat 显示填充零

java - 使用 printf 和 format 进行格式化

html - 格式化 HTML 表格单元格以便 Excel 格式化为文本?

javascript - 如何在javascript中将整数格式化为特定长度?

formatting - 如何关闭 JSLint 缩进警告?

excel - (Excel) 基于相邻单元格值的条件格式

wpf - 如何使所有文本大写/大写?

javascript - 如何在 Javascript 中为字符串添加斜杠?

formatting - 如何可视化或格式化差异/补丁文件?

asp.net - 如何更改 .ASPX 自动格式化设置 (Visual Studio)