我想知道一个人是否已经过了特定的年龄(以年为单位),以使他有资格获得一些福利。
我发布了这个问题,因为我在 VB 6.0 中使用 DateDiff(使用 'YYYY' 作为间隔)函数时没有得到完美的答案
我更改了逻辑并使用了 DateAdd 函数,然后使用了 DateDiff。我编写了以下代码来找出确切的年龄。
Public Function GetAge(dob As Date) As Integer
Dim tempDate As Date
If IsDate(dob) = False Then
GetAge = -1
Else
tempDate = DateAdd("yyyy", 11, dob)
If DateDiff("d", tempDate, Date) > 0 Then
tempDate = DateAdd("yyyy", 19, dob)
If DateDiff("d", tempDate, Date) > 0 Then
tempDate = DateAdd("yyyy", 25, dob)
If DateDiff("d", tempDate, Date) > 0 Then
GetAge = 3
Else
GetAge = 2
End If
Else
GetAge = 1
End If
Else
GetAge = 0
End If
End If
End Function
笔记:
-1 : Error in DOB
0 : child
1 : Teens
2 : Youth
3 : Senior