-6

我想知道一个人是否已经过了特定的年龄(以年为单位),以使他有资格获得一些福利。


我发布了这个问题,因为我在 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
4

1 回答 1

1

尝试类似:

if dateserial(year(dob) + 25, month(dob), day(dob)) > now then
于 2013-02-24T20:29:43.937 回答