C# Can';t将我的时间跨度差异转换为任何自定义的时间跨度差异

C# Can';t将我的时间跨度差异转换为任何自定义的时间跨度差异,c#,asp.net,webforms,C#,Asp.net,Webforms,这就是我所做的,不确定这是否是最佳解决方案,但我仍在学习。 这就是Labe3中显示的内容 DateTime a = Convert.ToDateTime(reader["user_lastlogin"]); DateTime b = DateTime.Now; TimeSpan diff = b - a; Label3.Text = di

这就是我所做的,不确定这是否是最佳解决方案,但我仍在学习。 这就是Labe3中显示的内容

                    DateTime a = Convert.ToDateTime(reader["user_lastlogin"]);
                    DateTime b = DateTime.Now;
                    TimeSpan diff = b - a;
                    Label3.Text = diff.ToString();
例如,我怎样才能到达目的地

                    00:20:41.8159296

使用自定义时间格式字符串实现所需的格式

                    00:20:41

(有关更多格式选项,请参见)

使用自定义时间格式字符串来实现所需的格式

                    00:20:41

(有关更多格式选项,请参见)这里有一个很好的参考资料。

答案是:(时间跨度到HH:mm:ss格式化)


(请确保不要使用hh而不是hh,因为0可以打印为12(取决于您当地的文化设置))

这里有一个很好的参考。

答案是:(时间跨度到HH:mm:ss格式化)


(请确保不要使用hh而不是hh,因为0可以打印为12(取决于您当地的文化设置))

这不是答案,充其量只是一条评论。OP似乎需要秒数,也不是答案,充其量只是一条评论。OP似乎需要秒数also@Maximilian_Gerhardt谢谢,很有魅力。我一直在尝试用String.Format(“{0:T}”,dt)做一些奇怪的事情;但是它做得不太好。应该也能起作用的是访问
TimeSpan
对象本身的
Hours
Seconds
Minutes
属性,例如
Label3.Text=string.Format(“{0}:{1}:{2}”,diff.Hours,diff.Minutes,diff.Seconds”),但正确的格式字符串更快更清晰:)@Harugawa
string.format
可以工作。您只需要正确的格式字符串(
string.format(@“{0:hh\:mm\:ss}”,diff);
)。@Maximilian_Gerhardt谢谢,它很有魅力。我一直在尝试用String.Format(“{0:T}”,dt)做一些奇怪的事情;但是它做得不太好。应该也能起作用的是访问
TimeSpan
对象本身的
Hours
Seconds
Minutes
属性,例如
Label3.Text=string.Format(“{0}:{1}:{2}”,diff.Hours,diff.Minutes,diff.Seconds”),但正确的格式字符串更快更清晰:)@Harugawa
string.format
可以工作。您只需要正确的格式字符串(
string.format(@“{0:hh\:mm\:ss}”,diff);
)。
new DateTime(timeSpan.Ticks).ToString("HH:mm:ss");