我有一个以秒为单位的双精度值,我想使用数字格式字符串将其显示为 mm:ss 或 hh:mm:ss。这可能吗?没有在 MSDN 上找到任何关于它的信息吗?
原因是我们使用 Telerik Chart 来显示我们的数据,并且由于我无法更改基本格式,因此我必须将格式字符串挂接到他们的图表 api 中。
提前感谢约翰
我有一个以秒为单位的双精度值,我想使用数字格式字符串将其显示为 mm:ss 或 hh:mm:ss。这可能吗?没有在 MSDN 上找到任何关于它的信息吗?
原因是我们使用 Telerik Chart 来显示我们的数据,并且由于我无法更改基本格式,因此我必须将格式字符串挂接到他们的图表 api 中。
提前感谢约翰
您正在寻找TimeSpan 类。
使用以下内容:
var ts = new TimeSpan(0, 0, 0, (int)doubleValueOfSeconds, 0);
当然,您可能需要考虑对双精度值进行更准确的舍入,而不是像我的示例中那样截断。
查看MSDN 上的 TimeSpan以获取字符串值,尽管当前最简单的特定于文化的东西是TimeSpan.ToString()
.
更新更新的问题:
您不能直接将秒数格式化为日期和时间。格式化本质上是字符串操作,你需要在格式化发生之前做一些数学运算。
使用我上面的示例,然后调用TimeSpan.ToString(formatString);
以获取要提供给控件的字符串值。
那是假设你没有简单地错过了什么。我个人认为 Telerik 控件非常复杂,但我确信它们会内置格式化。本质上,使用我上面的示例编写代码来创建具有时间跨度的数据,然后使用内置格式字符串告诉控件如何格式化给定数据系列的时间跨度。