在asp.net C#Databinding Class中将两个DateTime之间的差异转换为HH:MM:SS格式

use*_*496 1 c# asp.net datetime data-access-layer date

我需要减去两个日期时间并以HH:MM:SS格式显示它们的网络应用程序.我从mappling类中的数据库中获取这些并尝试在那里减去并转换为字符串格式.我正在尝试以下方式

TimeTook = Convert.ToString(reader.GetDateTimeNullable("COMPLETED_DATE") - reader.GetDateTime("REQUEST_DATE"))
Run Code Online (Sandbox Code Playgroud)

这个语句用在一个映射函数中,当我把它转换成字符串时,我得到了几天HH:MM:SS.ff格式,但我想用HH:MM:SS格式得到它,因为我直接将它绑定到用户控件中的标签如下

 <asp:Label ID="lblTimeTook" runat="server" Text='<%# Bind("TimeTook") %>'></asp:Label>
Run Code Online (Sandbox Code Playgroud)

我想直接绑定两个日期之间的差异,并以HH:MM:SS格式显示它们.

D S*_*ley 6

减去两个DateTimes返回一个TimeSpan可以轻松格式化的:

TimeTook = ( reader.GetDateTimeNullable("COMPLETED_DATE") -
             reader.GetDateTime("REQUEST_DATE")
           ).ToString(@"hh\:mm\:ss");
Run Code Online (Sandbox Code Playgroud)