VBScript根据出生日期确定一个人年满18岁

时间:2010-03-30 15:56:45

标签: datetime vbscript

我的用户DOB是一个字符串(不要问),我怎样才能可靠地检查他们是否超过18岁?我会使用DateDiff吗?我如何将字符串首先转换为日期?日期是dd / mm / yyyy格式。

非常感谢 乔纳森

5 个答案:

答案 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/1994ds = 26/07/2012怎么办? datediff("yyyy", d, ds)给你18,但是人还不是18,他必须等几个月。 也许你需要按月比较?

答案 4 :(得分:-2)

拿他们的DOB,加上18年,看看当前日期是否相同。