【发布时间】:2016-08-26 10:27:12
【问题描述】:
我正在我的网络应用程序上使用以下代码以hh:mm:ss 格式显示两个日期之间的差异:
double durationSeconds = (EndDateTime - StartDateTime).TotalSeconds;
TimeSpan seconds = TimeSpan.FromSeconds(durationSeconds);
string duration = seconds.ToString(@"hh\:mm\:ss\:fff");
litDuration.Text = duration;
这仅适用于少于 24 小时的差异,但我希望小时计数器显示得更高。例如使用以下日期时间
StartDateTime = 2016-08-25 15:00:00
EndDateTime = 2016-08-27 15:28:30
hh:mm:ss 格式的差异应该是48:28:30,但当前显示的是00:28:30。
非常感谢任何帮助
【问题讨论】:
-
看看这篇文章是否对你有帮助stackoverflow.com/questions/3505230/…
-
seconds.ToString(@"hh\:mm\:ss\:fff");将使用seconds.Hours来格式化输出。而您想使用seconds.TotalHours。您需要为此编写自己的格式化函数(请参阅上面的链接以获取示例) -
你永远不会得到一个 TimeSpan 来显示任何高于 23 的数字。查看 Days 属性并在转换为字符串时添加 +24 小时