检查日期是否在给定的时间范围内

时间:2014-01-08 21:34:09

标签: .net vb.net datetime

我需要检查日期是否在一定范围内。

我想我需要这个函数看起来像这样:

If Date.Now.ToString("dd/MM/yyyy") - 2 days <= sc3 <= Date.Now.ToString("dd/MM/yyyy") Then
     sc3 = D
     Console.WriteLine(D)
End If

但是,我实际上并不知道第一部分(Date.Now.ToString("dd/MM/yyyy") - 2 days)的内容。

基本上我需要检查日期是否在当前日期和2天之间。

3 个答案:

答案 0 :(得分:3)

使用DateAddDateDiff的文档来理解/试验:

Option Explicit

Dim dtToday : dtToday = Date
Dim nDiff
For nDiff = -3 To +3
    Dim dtTest : dtTest = DateAdd("d", nDiff, dtToday)
    Dim nDiff2 : nDiff2 = DateDiff("d", dtToday, dtTest)
    Dim bInR   : bInR   = -2 <= nDiff2 And 0 >= nDiff2 ' depends on your understand of "berween"
    WScript.Echo nDiff, dtTest, CStr(bInR)
Next

输出:

-3 05.01.2014 False
-2 06.01.2014 True
-1 07.01.2014 True
0 08.01.2014 True
1 09.01.2014 False
2 10.01.2014 False
3 11.01.2014 False

(我选择相信你的VBScript标签)

答案 1 :(得分:1)

您的代码示例是VB.NET。

忽略时间,这将是这样的:

Dim testDate As DateTime = new DateTime(2014, 1,1)
Dim currDate As DateTime = DateTime.Now.Date

If testDate <= currDate AndAlso testDate >= currDate - TimeSpan.FromDays(2) Then

'within range

End If 

我没有语法检查这个,但它应该让你开始。

答案 2 :(得分:0)

If Date.Now.AddDays(-2)<=sc3 AndAlso sc3<=Date.Now Then
    sc3 = D
    Console.WriteLine(D)
End If