在日期范围VbScript中显示消息

在日期范围VbScript中显示消息,vbscript,asp-classic,Vbscript,Asp Classic,我正在尝试根据日期范围显示消息。如果该日期介于BeginDate和EndDate之间,则应显示该日期;如果该日期为2017年9月10日,则应显示另一条消息,否则应显示该日期。这似乎失败了,直接转到else语句。我的眼睛没有注意到错误。如何在VBScript中的日期范围之间显示内容 <% Dim DateT Dim BeginDate Dim EndDate BeginDate = Day("2017-05-26") EndDate =

我正在尝试根据日期范围显示消息。如果该日期介于BeginDate和EndDate之间,则应显示该日期;如果该日期为2017年9月10日,则应显示另一条消息,否则应显示该日期。这似乎失败了,直接转到else语句。我的眼睛没有注意到错误。如何在VBScript中的日期范围之间显示内容

    <%
    Dim DateT

    Dim BeginDate
    Dim EndDate

    BeginDate = Day("2017-05-26")

    EndDate = Day("2017-11-04")

    DateT = Day(Date)


     If BeginDate >= DateT =< EndDate
THEN response.write(DateT) 

    ElseIF  BeginDate  = Day("2017-10-09")THEN
        response.write(DateT) 

    Else 
    response.write(DateT)


    End If


    %>
=DateT=

我认为您的语法不正确,逻辑过于复杂

不完全确定这里的语法或正确的日期格式,但我添加了一些响应。请写信给您检查(这应该是您的第一站)

您的逻辑过于复杂,因为它唯一不显示日期的时间是与该特殊日期匹配的时间

Dim日期
暗生
暗截止日期
BeginDate=CDate(“2017-05-26”)
EndDate=CDate(“2017-11-04”)
DateT=Date()
'完成调试后删除这些
响应。写入(BeginDate)
响应。写入(结束日期)
如果BeginDate=CDate(“2017-10-09”),则
回复。写下(“另一条消息”)
其他的
回复。写入(日期)
如果结束

也许你需要写得更详细一点,比如:如果(BeginDate>=DateT)和(DateT=?为什么不比较一下日期呢?是的。使用
CDate
确保它是一个日期。这种语法:
If BeginDate>=DateT=
不是我以前见过的东西,我怀疑它是否符合您的想法。尝试
如果DateT>=BeginDate和DateT=
而不是仅仅在不到一天之前的同一个问题上可能重复,人们需要在发布之前进行搜索。正如Nick所说,不要尝试比较日期的字符串表示形式。因为字符串到日期的转换取决于运行ASP代码的服务器的区域设置。您应该始终使用
IsDate()
检查日期字符串是否可以转换为有效日期,然后在尝试比较之前使用
CDate()
将其转换为有效日期。这不是什么新鲜事,它已经播放过多次了。