我很好奇是否有“最佳实践”方法来进行年龄验证。我以为我会从现在开始毫秒和从出生日期开始毫秒,然后看看他们的出生日期+ ageReq *(365 * millPerYear)> currentMillisecond。
我相信这会起作用,但我想知道这种方法是否有任何错误和/或是否有一个库可以解决我在这里可能没有预料到的任何陷阱(例如,是否存在闰年问题?)< / p>
这个问题与语言无关,我目前使用的是Java,但我很好奇正确的方法是什么,无论语言如何。
TIA
答案 0 :(得分:7)
您可以尝试joda-time。是的,你的支票有轻微的缺陷。这不是很准确。根据您必须遵守的法律合规程度,您可以使用或不使用。 Joda时间是一个很好的图书馆,因为它确实负责所有基本检查。
如果您正在寻找语言不可知论者。然后你可以查看Joda-time的代码。因为它精确地计算了日期。
答案 1 :(得分:2)
如果您使用现有的生日,则使用日期和日历类来获得准确的差异。如果你使用你的方法然后它是不确切的,因为闰年/秒等...日期是手工解决的混乱。
如果你现在没有生日,并且你不需要记录它,我会建议反对你的应用程序实际上要求一个,因为它很烦人的地狱,当我必须这样做时,我只需向下滚动年份并选择一个随机的一个大于20岁左右。如果你在X之上/之下,请问是或否。