我的用户DOB是一个字符串(不要问),我怎样才能可靠地检查他们是否超过18岁?我会使用DateDiff吗?我如何将字符串首先转换为日期?日期是dd / mm / yyyy格式。
非常感谢 乔纳森
答案 0 :(得分:0)
是的,你需要CDate转换你的字符串,然后再转换DateDiff(“yyyy”,date1,date2),因为你真的只需要这一年。
答案 1 :(得分:0)
类似的东西:
stringDate = "02/12/1990"
if IsDate(stringDate) then
document.write(DateDiff(yyyy, CDate(stringDate), Date()))
end if
答案 2 :(得分:0)
VBScript的CDate函数使用当前语言环境来转换日期。你可能会遇到问题。
另一种方法是长期完成并解析日期:
d = "02/05/1984"
sYear = cint(right(d,4))
sMonth = cint(mid(4,2))
sDay = cint(left(d,2))
ds = DateSerial(sYear, sMonth, sDay)
现在你可以做你的DateDiff:
if ( DateDiff( "yyyy", d, ds ) > 18 ) ...
答案 3 :(得分:0)
如果d=02/09/1994
,ds = 26/07/2012
怎么办? datediff("yyyy", d, ds)
给你18,但是人还不是18,他必须等几个月。
也许你需要按月比较?
答案 4 :(得分:-2)
拿他们的DOB,加上18年,看看当前日期是否相同。