在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)。这个代码就是这样做的。