2016-10-31 73 views
-2

我正在尝试构建一个项目并试图比较日期时间选择器中的两个日期。显示错误结果的两个日期之间的差异

假设它是出发和到达时间。用户选择离开日期5/11/2016和抵达时6/11/2016。

的代码如下:

DateTime departure = dtpDeparture.Value.Date; 
DateTime arrival = dtpArrival.Value.Date; 

MessageBox.Show(departure- arrival).Days.ToString(); 

结果是:6576这是不对的。应该1(所不同的是只有一天)?

感谢您的帮助。

+0

,你肯定它没有显示'6.576',如果时间是考虑到它可以是正确的。 –

+1

什么'MessageBox.Show(departure.ToString()+“ - ”+ arrival.ToString())'show? –

+0

@PatrickHofman我不这么认为,因为我把.Value.Date所以不应该考虑时间。 –

回答

4

(departure - arrival).TotalDays一直为我工作。确保你的日期格式也是正确的,你可能会在5月11日到6月11日检查。

+0

我改变了日期选择器的格式为dd/MM/yyyy,它仍然显示相同的结果。 –

+0

使用'TotalDays'确实是正确的方法。但它应该总是大于或等于'Days'。问题是'Days'已经太大了。 –

+0

谢谢。该功能是正确的。我重新启动了我的视觉工作室,它工作。这已经解决了。 –

0

也许你可以试试[DateTime.Subtract()] 请找到链接here