2015-02-23 74 views
0

我想在我的应用程序中执行检查,用户必须选择比当前时间更长的时间以及我正在考虑他们的区别。我花时间从用户通过时间选择器并与日期时间对象进行比较。 我正面临着这样做的问题。TimePicker和DateTime对象

 DateTime obj = DateTime.Now.ToLocalTime(); 
     DateTime obj2 = Convert.ToDateTime(tp.Time); 
     //Here tp.time is the time from timepicker. 
     //But the exception isthrown that it cannot convert timespan to datetime. 

     TimeSpan ts = obj - obj2; 

回答

1

TimePicker控件的时间是TimeSpan。

要达到什么样的你正在尝试做的,你可以做到以下几点:

DateTime obj = DateTime.Now.ToLocalTime(); 
DateTime obj2 = DateTime.Today.Add(tp.Time); 

TimeSpan ts = obj - obj2; 
+0

没有它亘古不变的工作,它说:不会打字的时间跨度隐式转换为日期时间对象第3行 – Kam 2015-02-25 10:14:46

+0

@Kam我只是在tp.Time上有一个类型。其余的工作正常。如果这不起作用,告诉我两件事:什么类型就是'tp'对象,在这个代码之后你在哪里使用'ts'对象? – Meneses 2015-02-25 10:33:03

0

试试这个

var t1 = tp.Time; 
var t2 = DateTime.Now.TimeOfDay; 
TimeSpan ts = t2 - t1;