visual basic以检查正确的日期范围

时间:2015-06-17 12:33:41

标签: vb.net date range

我需要编写一个VB代码来验证输入日期条件是否在正确的日期范围内,否则它需要向用户返回一条消息以输入正确的日期。

我正在编写此查询以获取日期作为输入参数。因此,我正在传递fromarrdte和toarrdte作为输入。用于初始化它的代码是这样的:

dim fromarrdte 
dim toarrdte 
dim begdispdte 
dim enddispdte 
fromarrdte = rptfunc.getParameter("from_arrive_dte") 
toarrdte = rptfunc.getParameter("to_arrive_dte") 
Rpt.sections("ReportHeader").Controls("txtfromarrdte").Text = fromarrdte  

Rpt.sections(" ReportHeader")。控件(" txttoarrdte")。Text = toarrdte

要检查的日期是fromarrdte, toarrdtebegdispdte, enddispdte。 我写的代码如下:

Response.write(BetweenDateRange(Date()) & "<br>")
Response.write(BetweenDateRange(CDate("fromarrdte")) & "<br>")
Response.write(BetweenDateRange(CDate("toarrdte")))

Function BetweenDateRange(DatePassed)
   BeginDate = CDate("fromarrdte")
   EndDate = CDate("toarrdte")

   If DatePassed > BeginDate And DatePassed < EndDate Then
      BetweenDateRange = "True"
   Else
      BetweenDateRange = "False"
   End If
End Function

但是我收到了语法错误。请帮忙。谢谢!

1 个答案:

答案 0 :(得分:0)

部分问题是CDate("fromarrdte")永远不会评估为日期数据类型。 由于您使用Response.Write,我可以假设您正在使用ASP.Net。 我还假设fromarrdte指的是表单字段或其他内容。如果是这种情况,您可以将其称为fromarrdte.TextRequest.Form(fromarrdte.ClientID)

总的来说,这将是您的好处 - 既可以作为更好的开发人员,又可以更轻松地解决这些类型的问题 - 添加到代码隐藏的顶部:

Option Explict On
Option Strict On

这将确保您的变量和参数被声明为一个类型,并且您的函数返回某个类型的值。 查看代码,告诉您的变量并不容易。读者可以将DatePassed解释为&#39;某些测试通过日期&#39;或者&#39;传递给方法的日期&#39;。同样地,BetweenDateRange直观地会返回一个布尔值,但是你要返回一个字符串。但是如果不阅读整个功能,我们就不会知道这一点,因为你没有定义它返回的类型。 澄清 - 您可以执行以下操作:

Function BetweenDateRange(DatePassed as Date) as Boolean
    '....
End Function