我将来有一个日期,例如13/10/2008我需要减去当前日期(今天是28/09/2010)减去7天,那么21/09/2010减去13/10/2008,这将等于erm,720这个?
但显然,当前日期并不总是28/09/2010。
我需要这个代码。
编辑:当我说未来我的意思是过去:))
答案 0 :(得分:5)
Sub Main()
Dim dt As DateTime = New DateTime(2008, 10, 13)
' be careful what you are subtracting from what
' the date you have is not in the future (year 2008)
' if the date is in the future: (dt.Subtract(DateTime.Now.AddDays(-7))).TotalDays
' or simply take the absolute value
Dim days As Double = (DateTime.Now.AddDays(-7).Subtract(dt)).TotalDays
Console.WriteLine(days)
End Sub
答案 1 :(得分:1)
2008年10月13日并不完全是将来:)
很抱歉使用C#代码,但是:
(dateInFuture - DateTime.Now.AddDays(-7)).TotalDays
应该有效。当然,如果你的意思是过去的另一种方式:
(DateTime.Now.AddDays(-7) - dateInPast).TotalDays
答案 2 :(得分:1)
Dim ValidDate As Date =cDate("Tuesday, December 31, 2013") 'A date in Future
Dim date1 As New System.DateTime(ValidDate.Year, ValidDate.Month, ValidDate.Day)
Dim date2 = Now
Dim Diff1 As System.TimeSpan
Diff1 = date1.Subtract(date2)
Dim TotRemDays = (Int(Diff1.TotalDays))
MsgBox(TotRemDays)
答案 3 :(得分:0)
“我需要这个代码”似乎有点像“Plz to meh teh codez”,而你的“未来日期”似乎有点过去。
无论如何,你应该调查DateTime
结构的相关方法,特别是Subtract方法(两个重载,或替代它的减法运算符),你应该看一下{ {3}}结构也是如此。
您可以为今天的日期创建DateTime
,将7天的TimeSpan
减去,然后将此结果减去DateTime
,表示您将来的日期(或者,如果是在过去,则做相反的事情)。您将获得TimeSpan
表示两个日期之间的时间差异,您可以使用其Days
属性轻松获取天数。
正如其他人所说,要进行第一次减法,您还可以使用AddDays
结构的DateTime
方法。