gpt4 book ai didi

grails - Grails日期约束

转载 作者:行者123 更新时间:2023-12-02 14:34:51 25 4
gpt4 key购买 nike

我正在尝试向用户提交的文本字段(即出生日期)添加约束。我需要用户至少18岁,但不能超过113岁。

final static Date MIN_DATE = new Date(Calendar.YEAR-18)
final static Date MAX_DATE = new Date(Calendar.YEAR-100)

static constraints = {
dob(nullabe: false, min: MIN_DATE, max: MAX_DATE
}

当我,
System.out.println('Year Max Date: ' + person.MAX_DATE)

它给了我,
Year Max Date: Wed Dec 31 17:59:59 CST 1969

最小日期也是如此。

我试着做
final static Date MIN_DATE = new Date().getAt(Calendar.YEAR)-18

但这根本没有用。我还尝试了不使用 -18的情况,并获得了正确的答案,但结果是减少了7个小时。当我尝试从本地重新启动该应用程序时,它崩溃了。从那时起,我再也无法重建它。

我了解到,它给出的日期是“Epoch”日期或Unix启动之前的日期。我只是不确定如何解决它。

关于这个问题有什么想法/建议/担忧/经验吗?
任何帮助将不胜感激。

最佳答案

我不同意这些限制,首先,因为它们似乎是任意的(为什么某人不超过100岁?为什么我16岁就不能撒谎?)

其次,如果网络服务器启动了几年,这些静态日期将慢慢漂移

但是无论如何(除了这些问题),我相信您想要的是:

final static Date MIN_DATE = Calendar.instance.with { add( YEAR, -18 ) ; it }.time
final static Date MAX_DATE = Calendar.instance.with { add( YEAR, -100 ) ; it }.time

关于grails - Grails日期约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15028458/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com