Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在vb6.0中查找人的年龄_Vb6 - Fatal编程技术网

在vb6.0中查找人的年龄

在vb6.0中查找人的年龄,vb6,Vb6,我想知道一个人是否跨过了特定的年龄(以年为单位),以使他有资格享受某些福利 当我在VB6.0中使用DateDiff(使用'YYYY'作为间隔)函数时,并没有得到完美的答案,所以我发布了这个问题 我改变了逻辑,使用了DateAdd函数,然后是DateDiff。我写了下面的代码来找出确切的年龄 Public Function GetAge(dob As Date) As Integer Dim tempDate As Date If IsDate(dob) = False The

我想知道一个人是否跨过了特定的年龄(以年为单位),以使他有资格享受某些福利


当我在VB6.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
尝试以下方法:

if dateserial(year(dob) + 25, month(dob), day(dob)) > now then

当然,这取决于你的实施。发布一些代码和一个特定的例子,然后看看人们是否可以帮助你。就目前而言,这甚至不是一个问题。事实上,我想发布代码作为答案。我现在也这样做了,以便其他人理解。DateDiff返回两个日期年份之间的简单减法结果。这是一个简单的代码,用来计算年份差异,但当DOB被认为是新年的第一天时就不正确了。尽管如此,目前的问题并没有给其他人提供一个可能更好的解决方案的机会。它是非常开放的,可以解释;我仍然会编辑这个问题以避免这一连串的否决票。是的,你可以继续修改这个问题。我看不出有什么问题,这是一个非常有效的问题,有一个相当简单的解决方案。你仍然必须使用DateDiff函数。这段代码只是在日期的年份部分加上数字。“我想知道一个人是否已经跨过了特定的年龄(以年为单位)I”-不管他们的年龄是多少,只要他们已经跨过了这个年龄就行了(问题是athat)。这个代码就是这样做的。