C# 数字格式字符串:双精度时间

C# 数字格式字符串:双精度时间,c#,string,formatting,format,C#,String,Formatting,Format,我有一个以秒为单位的双精度值,我想使用数字格式字符串将其显示为mm:ss或hh:mm:ss。 这可能吗?在MSDN上没有找到任何关于它的信息吗 原因是我们使用一个Telerik图表来显示我们的数据,因为我不能更改uderling格式,所以我必须将格式字符串连接到他们的图表api中 提前谢谢 Johan您正在寻找的。请使用以下命令: var ts = new TimeSpan(0, 0, 0, (int)doubleValueOfSeconds, 0); 当然,你可能想考虑更精确的双值舍入,而不

我有一个以秒为单位的双精度值,我想使用数字格式字符串将其显示为mm:ss或hh:mm:ss。 这可能吗?在MSDN上没有找到任何关于它的信息吗

原因是我们使用一个Telerik图表来显示我们的数据,因为我不能更改uderling格式,所以我必须将格式字符串连接到他们的图表api中

提前谢谢 Johan

您正在寻找的。

请使用以下命令:

var ts = new TimeSpan(0, 0, 0, (int)doubleValueOfSeconds, 0);
当然,你可能想考虑更精确的双值舍入,而不是在我的例子中截断。< /P> 尽管当前最简单的特定于区域性的内容是
TimeSpan.ToString()
,但是请查看以获取字符串值

更新到更新的问题

不能直接将秒数格式化为日期和时间。格式化本质上是字符串操作,在格式化之前,您需要它做一些数学运算

使用上面的示例,然后调用
TimeSpan.ToString(formatString)
获取要提供给控件的字符串值


假设你没有错过什么。我个人认为Telerik控件非常复杂,但我相信它们会内置格式。基本上,使用上面的示例编写代码来创建带有时间跨度的数据,然后使用内置格式字符串告诉控件如何为给定的数据系列设置时间跨度的格式。

实际上,我无法(据我所知)钩住任何代码,图表控件采用数字格式字符串来格式化图表中的值。因此,我不能使用任何类来计算值,这不是问题,问题是如何使用数字格式字符串(如果可能的话?)来计算值,但仍然感谢您的回答。我已经更新了我的答案,希望现在能有所帮助。在将数据提供给图表之前,您确实需要预先将数据创建为timespan对象。无法将数字格式化为小时/分钟值。您必须使用我的示例构建小时/分钟值,并相应地格式化该对象。