2015-05-02 134 views
0

我使用实体框架(数据库1),并试图在一个winform的时间跨度属性分配从dateTimePicker的一个值插入到数据库:转换datetimePicker.Value为TimeSpan

Schedule schedule = new Schedule() 
schedule.time = datetimePicker1.Value 

我想我想通这在很久以前就已经出现了,但是现在还无法解决它。如何将datetimePicker1.Value转换为时间(DateTime到TimeSpan)?

谢谢!

+1

那么你想'时间跨度'*意味着*?如果我有日期/时间(说)2015-06-19T17:00:30你想要什么'TimeSpan'?如果您刚刚过了一天的时间,请查看“TimeOfDay”属性... –

+0

TimeSpan指示间隔,而不是绝对日期。您需要开始时间和结束时间才能制作TimeSpan。 –

+0

@Jon Skeet在我的情况下,我只是在日期时间的值后 – Mikem

回答

2

如果你只是想时间成分则可能像。

DateTime dt = datetimePicker1.Value; 
TimeSpan st = new Timespan(dt.Hour, dt.Minute, dt.Second); 

或者由(侯赛因扎瓦维)

TimeSpan st = dt.TimeOfDay; 

,如果你想保存,然后勾上一个转换可能会很好地使用全时指出。 (不确定它的后果/行为)

TimeSpan ts = new TimeSpan(dt.Ticks); 
+0

乔恩在评论部分为我回答了很多问题,但我会将此标记为自您发布以来的答案。 “另类”是完美的工作 – Mikem

3

试试下面的代码片段:

schedule.time = datetimePicker1.Value.TimeOfDay 
相关问题