加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – TimeSpan字符串格式化

发布时间:2020-12-15 03:45:56 所属栏目:百科 来源:网络整理
导读:我有一个Timespan,需要以特定格式输出,如下所示: TimeSpan TimeDifference = DateTime.Now - RandomDate; 我正在格式化TimeSpan: string result = string.Format(@"{0:hh:mm:ss}",TimeDifference); 结果将如下所示: “00:16:45.6184635” 如何将这几秒
我有一个Timespan,需要以特定格式输出,如下所示:
TimeSpan TimeDifference = DateTime.Now - RandomDate;

我正在格式化TimeSpan:

string result = string.Format(@"{0:hh:mm:ss}",TimeDifference);

结果将如下所示:

“00:16:45.6184635”

如何将这几秒转到0位小数位?

Expected Result = 00:16:46

谢谢

解决方法

您的代码与.NET 4一起使用,但不适用于3.5,因为4上有一个突破性的变化,TimeSpan现在实现IFormattable(见下文).

您可以在3.5或更低版本上执行,将TimeSpan转换为DateTime并使用ToString:

DateTime dtime = DateTime.MinValue.Add(TimeDifference);
string result = dtime.ToString(@"hh:mm:ss");

在这里可以看到非工作的工作版本:http://ideone.com/Ak1HuD

编辑我认为它有时工作的原因有时不是since .NET 4.0 TimeSpan实现IFormattable哪个seem to be used by String.Format.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读