我有一个数据表,其中的列=
以秒为单位显示了总时间。
(由于我可能使用Total
来计算时间(以秒为单位,可能会超过24小时,因此会返回DateDiff
),如下所示:
INT
数据表如下:
SET tmTotals = DATEDIFF(Second, tmStartTime, tmEndTime)
在我的WPF应用程序中,我想使用两个StartTime EndTime Total
-----------------------------------------------------------
2018-12-03 00:00:19.257 2018-12-04 00:00:23.288 86404
2018-12-02 10:13:32.586 2018-12-04 10:14:57.298 172885
2018-12-04 12:07:50.636 2018-12-04 18:04:25.526 21395
2018-12-04 03:15:25.061 2018-12-04 13:15:34.665 36009
2018-12-03 20:56:12.947 2018-12-04 03:11:07.992 22495
2018-12-02 00:11:46.020 2018-12-04 00:29:55.051 173889
在表中的两个textboxes
之间进行搜索。我希望这些Total
的格式设置为textboxes
(时间可能超过100小时)。如何将其设置为hhh:mm:ss
值,以便它在StoredProcedure中可用?
我使用的时间少于24小时,但现在无法使用:
Int
计算总时间,并在我的WPF应用程序中做到了:
CONVERT(varchar, DATEADD(second, DATEDIFF(second, tmStartTime, tmEndTime), 0), 108)
和代码隐藏:
<TextBox Name="Activeto" Text="{Binding Path=TotalEnd, StringFormat= \\hh\\:mm\\:ss }" Width="60"/>
将TimeSpan timeSpanStart = TimeSpan.Parse(Activefrom.Text);
转换为string
,可用于在时间之间进行搜索。
答案 0 :(得分:0)
我找到了解决方案。最后,我仅将时间输入textboxes
分隔为三个独立的textboxes
,因此:hh
:mm
:ss
。在后面的代码中,我计算了输入到秒的时间并将其添加:
int TotalBegin = (int.Parse(TotalStarthh.Text) * 3600) + (int.Parse(TotalStartmm.Text) * 60) + (int.Parse(TotalStartss.Text));
int TotalEnd = (int.Parse(TotalEndhh.Text) * 3600) + (int.Parse(TotalEndmm.Text) * 60) + (int.Parse(TotalEndss.Text));
也许不是最好的解决方案,但它对我有用!