Input 检查用户是否为18岁
因此,我目前正在进行一个项目,并试图检查用户是否超过18岁,我不能得到我的逻辑正确。以下是我的声明和错误代码:Input 检查用户是否为18岁,input,Input,因此,我目前正在进行一个项目,并试图检查用户是否超过18岁,我不能得到我的逻辑正确。以下是我的声明和错误代码: if ($dobYear<date("Y")-19) if ($dobYear==date("Y")-18 and $dobMon<date("m")) if ($dobYear==date("Y") and $dobMon==date("m") and $dobDay<=date("d")) $err['lowAge'] = 'You must be over
if ($dobYear<date("Y")-19)
if ($dobYear==date("Y")-18 and $dobMon<date("m"))
if ($dobYear==date("Y") and $dobMon==date("m") and $dobDay<=date("d"))
$err['lowAge'] = 'You must be over 18 to register!';
if($dobYearI为此使用了python,但逻辑应该如下所示:
def set_adult(self):
today = date.today()
age = today.year - self.date_of_birth.year - ((today.month, today.day) < (self.date_of_birth.month, self.date_of_birth.day))
if age >= 18:
self.adult = True
else:
self.adult = False
def set_成人(自身):
今天=日期。今天()
年龄=今天.year-self.date\u出生日期.year-((今天.month,今天.day)<(self.date\u出生日期.month,self.date\u出生日期.day))
如果年龄大于等于18岁:
self.成人=True
其他:
self.成人=假
无论您找到什么解决方案,都要确保它能够工作,即使某人的生日是2月29日,或者今天是2月29日,我已经完成了格式验证,但我不知道如何告诉PHP以我想要的方式进行检查。我有一点经验,但这真的很糟糕。不幸的是,我没有取消理解你的年龄是如何工作的,你能解释一下吗?当然可以。我将通过一个例子来解释。考虑你的生日是1990年1月1日(1/1/1990)。假设今天是2008年10月31日(10-31-2008)。今天。年= 2008,出生日期是1990岁。很明显,这两者之间的差异是18,但你不是18正确吗?你知道吗?(date_of_birth.month,date_of_birth.day)>(today.month,today.day),因此返回1(true)。18-1=17。不是成人。