在C#中如何用datetime比较两个日期相差的天数 如题:请具体说明 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 TimeSpan d = DateTime1 - DateTime2;d.Days... 摘自MSDN:下面的示例说明 Subtract 方法和运算符。[Visual Basic, C#, C++] 注意 此示例显示如何使用减法运算符的一个重载版本。有关其他可用示例,请参阅单独的重载主题。[Visual Basic] Dim date1 As New System.DateTime(1996, 6, 3, 22, 15, 0)Dim date2 As New System.DateTime(1996, 12, 6, 13, 2, 0)Dim date3 As New System.DateTime(1996, 10, 12, 8, 42, 0)Dim diff1 As System.TimeSpan' diff1 gets 185 days, 14 hours, and 47 minutes.diff1 = date2.Subtract(date1)Dim date4 As System.DateTime' date4 gets 4/9/1996 5:55:00 PM.date4 = date3.Subtract(diff1)Dim diff2 As System.TimeSpan' diff2 gets 55 days 4 hours and 20 minutes.diff2 = System.DateTime.op_Subtraction(date2, date3)Dim date5 As System.DateTime' date5 gets 4/9/1996 5:55:00 PM.date5 = System.DateTime.op_Subtraction(date1, diff2)[C#] System.DateTime date1 = new System.DateTime(1996, 6, 3, 22, 15, 0);System.DateTime date2 = new System.DateTime(1996, 12, 6, 13, 2, 0);System.DateTime date3 = new System.DateTime(1996, 10, 12, 8, 42, 0);// diff1 gets 185 days, 14 hours, and 47 minutes.System.TimeSpan diff1 = date2.Subtract(date1);// date4 gets 4/9/1996 5:55:00 PM.System.DateTime date4 = date3.Subtract(diff1);// diff2 gets 55 days 4 hours and 20 minutes.System.TimeSpan diff2 = date2 - date3;// date5 gets 4/9/1996 5:55:00 PM.System.DateTime date5 = date1 - diff2; 楼上正解---------------------------------DateTime 值类型与 TimeSpan 值类型的差异在于 DateTime 表示时间上的一刻,而 TimeSpan 表示时间间隔。例如,这表示您可以从 DateTime 的一个实例减去另一个实例来获得它们之间的时间间隔。也可以将正的 TimeSpan 加到当前的 DateTime 来计算将来的日期。时间值可以加到 DateTime 的实例上,也可以从其中减去。时间值可以为正数也可以为负数,并可以刻度、秒等单位或 TimeSpan 的实例来表示。此值类型中的方法和属性会考虑闰年和月中天数等细节。 看看这个帖子http://community.csdn.net/Expert/topic/4088/4088198.xml?temp=.4708063 DateTime oldDate = new DateTime(2006,6,13);DateTime newDate = DateTime.Now;TimeSpan ts = newDate - oldDate;int differenceInDays = ts.Days;Console.WriteLine("Difference in days: {0} ", differenceInDays); 直接相减得出一个TimeSpan,Days属性就是你要的东西,int days = (dt1 - dt2).Days; C# 如何访问 局域网另一台机器的 文件? 怎么才能用resx协议访问.Net资源 关于excel的get_Range方法 关于app.config的疑问 关于引用类型字段初始化的问题 关于DataTable的一个问题 [200分]C#做安装程序部署时,如何实现注册! 有关微软中间语言的问题? 在WinForm应用程序中,如何在两个窗体中传递参数? C# 对datagridview里面的成绩计算名次 根据年月的值如何得到该月份的实际天数? DataTimePicker如何设置可以选择空的日期
d.Days...
[Visual Basic, C#, C++] 注意 此示例显示如何使用减法运算符的一个重载版本。有关其他可用示例,请参阅单独的重载主题。
[Visual Basic]
Dim date1 As New System.DateTime(1996, 6, 3, 22, 15, 0)
Dim date2 As New System.DateTime(1996, 12, 6, 13, 2, 0)
Dim date3 As New System.DateTime(1996, 10, 12, 8, 42, 0)Dim diff1 As System.TimeSpan
' diff1 gets 185 days, 14 hours, and 47 minutes.
diff1 = date2.Subtract(date1)Dim date4 As System.DateTime
' date4 gets 4/9/1996 5:55:00 PM.
date4 = date3.Subtract(diff1)Dim diff2 As System.TimeSpan
' diff2 gets 55 days 4 hours and 20 minutes.
diff2 = System.DateTime.op_Subtraction(date2, date3)Dim date5 As System.DateTime
' date5 gets 4/9/1996 5:55:00 PM.
date5 = System.DateTime.op_Subtraction(date1, diff2)
[C#]
System.DateTime date1 = new System.DateTime(1996, 6, 3, 22, 15, 0);
System.DateTime date2 = new System.DateTime(1996, 12, 6, 13, 2, 0);
System.DateTime date3 = new System.DateTime(1996, 10, 12, 8, 42, 0);// diff1 gets 185 days, 14 hours, and 47 minutes.
System.TimeSpan diff1 = date2.Subtract(date1);// date4 gets 4/9/1996 5:55:00 PM.
System.DateTime date4 = date3.Subtract(diff1);// diff2 gets 55 days 4 hours and 20 minutes.
System.TimeSpan diff2 = date2 - date3;// date5 gets 4/9/1996 5:55:00 PM.
System.DateTime date5 = date1 - diff2;
---------------------------------
DateTime 值类型与 TimeSpan 值类型的差异在于 DateTime 表示时间上的一刻,而 TimeSpan 表示时间间隔。例如,这表示您可以从 DateTime 的一个实例减去另一个实例来获得它们之间的时间间隔。也可以将正的 TimeSpan 加到当前的 DateTime 来计算将来的日期。时间值可以加到 DateTime 的实例上,也可以从其中减去。时间值可以为正数也可以为负数,并可以刻度、秒等单位或 TimeSpan 的实例来表示。此值类型中的方法和属性会考虑闰年和月中天数等细节。
http://community.csdn.net/Expert/topic/4088/4088198.xml?temp=.4708063
DateTime newDate = DateTime.Now;
TimeSpan ts = newDate - oldDate;
int differenceInDays = ts.Days;
Console.WriteLine("Difference in days: {0} ", differenceInDays);