如何确定用户是否仅在表单字段中输入日期或时间?

时间:2013-12-10 08:43:29

标签: date asp-classic

我有一个字段,用户只能在文本字段中输入日期或时间。现在我知道如果我制作2个字段,一个用于日期,一个用于时间,我可以检查时间字段是否为空。

我想做的只有一个领域。如果用户输入结束日期只需要时间,如果用户输入日期和时间,则两者都需要。

我遇到的问题是:如果用户输入“8.12.2013”​​,它实际上意味着“8.12.2013 0:0:0”,我将其转换为Cdate。但是结束时间是8.12.2013日期的第一秒,这意味着8.12.2013意味着在该日期停止(这是一个停止时间字段)。但事实上,如果用户写入8.1.2013,则意味着滚动到当天结束。

当然我可以做date()>“8.12.2013”​​并且它会起作用,但是如果用户输入日期和时间它将无法正常工作,因为它会删除时间部分。

我的问题:ASP中是否有任何函数可以检查日期的时间部分是否设置在变量中?我尝试使用TIME但是它显示0表示小时,0表示分钟,0表示秒,即使使用了Cdate(“8.12.2013”​​)。我需要函数告诉我时间没有设置所以我可以使用date()而不是now()进行比较。

我希望这是有道理的。

1 个答案:

答案 0 :(得分:0)

你可以尝试一些简单的事情:

If CLng(myDate) = myDate Then ...

日期被视为超过特定日期等的时间,因此整合日期将消除时间。

- 编辑 -

只需添加上述代码:CLng会将日期时间转换为日期。通过将此与整个日期进行比较,您可以看到是否包含任何小数部分。

请注意,在严格类型的环境(例如.NET)中,这将被视为不良做法,但经典ASP类型是变体并且具有很强的可塑性。