我有未来的日期,例如13/10/2008我需要减去当前日期(今天是28/09/2010)减去7天,因此21/09/2010减去13/10/2008,这等于erm,720是什么东西?VB.Net 2005,如何从(当前日期减去7天)减去一个日期并产生若干天?
但是,当前日期并不总是28/09/2010,显然。
我需要这个代码。
编辑:当我说将来我的意思是过去的:)
我有未来的日期,例如13/10/2008我需要减去当前日期(今天是28/09/2010)减去7天,因此21/09/2010减去13/10/2008,这等于erm,720是什么东西?VB.Net 2005,如何从(当前日期减去7天)减去一个日期并产生若干天?
但是,当前日期并不总是28/09/2010,显然。
我需要这个代码。
编辑:当我说将来我的意思是过去的:)
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
13/10/2008是不完全在未来:)
对不起,我使用C#代码,但是:
(dateInFuture - DateTime.Now.AddDays(-7)).TotalDays
应该工作。当然,反过来,如果你指的是在过去的:
(DateTime.Now.AddDays(-7) - dateInPast).TotalDays
嗯,有麻烦将其转换为VB http://www.developerfusion.com/tools/convert/csharp-to-vb/ – Jules 2010-09-28 08:27:07
“我需要的代码,这”似乎有点太像“PLZ给MEH德codez”和你的“日期的未来”似乎有点过去。
无论如何,你应该调查DateTime
结构的相关方法,尤其是Subtract方法(包括过载,或替代它的减法运算符),你应该有一个看看TimeSpan
结构太。
您可以为今天的日期DateTime
,减去7 TimeSpan
一个天,然后减去这样的结果表示在未来的日期DateTime
(或者,如果是在过去,做对面)。您将得到TimeSpan
代表这两个日期之间的时间差,从中您可以轻松获得使用其Days
属性的天数。
正如其他人所说,要做第一次减法,您还可以使用DateTime
结构的AddDays
方法。
如果所有问题的答案都是谷歌它并不需要这样的网站,并且找出,大声笑 – Jules 2010-09-28 08:29:52
学习编程是学习把砖块放在一起。提供现成的答案对于复杂的问题是有意义的,但是当所有问题都是“在图书馆中找到我想要的东西”时,对我而言,最好的答案就是轻轻地指向文档。请注意,我没有说“只是谷歌它”,我向你提供了一些指向MSDN相关部分的指针,所以将来你可以自己解决这类小问题。请记住,我只花更少的时间来提供你的代码,但那将会给你一个勺子 - 最多是无用的。 – 2010-09-28 08:33:48
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)
错误对'Date'和'Object'类型未定义运算符' - '。 – Jules 2010-09-28 08:24:56
对,对不起,我没有看到你使用的VS2005不支持变量类型推断。请参阅我的更新。声明变量时需要指定类型。 – 2010-09-28 08:26:30
仍然出现与编辑后的代码相同的错误 错误1未为'Date'和'Object'类型定义运算符' - '。 – Jules 2010-09-28 08:28:09