2014-01-08 177 views
0

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

我想我需要的功能是这个样子:

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天之间。

+1

这是关于VBScript或VB6的问题吗?他们是两种不同的语言。 –

+0

它既不是,看起来是VB.NET,它完全改变了答案... – tcarvin

回答

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 

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

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代码)

0
If Date.Now.AddDays(-2)<=sc3 AndAlso sc3<=Date.Now Then 
    sc3 = D 
    Console.WriteLine(D) 
End If 
相关问题