gpt4 book ai didi

grails - Grails-java.sql.Date的非法参数

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

我正在尝试通过在当前日期创建Calendar对象来创建sql.Date。如果我将日期硬编码为字符串,那么一切都很好:

def dat = java.sql.Date.valueOf("2011-01-31");

但是,如果我在代码中创建相同的字符串,则会收到非法的参数错误。
def currentDay  = {

def today = Calendar.getInstance();

def dateYear = today.get(Calendar.YEAR);
def dateMonth = today.get(Calendar.MONTH) + 1;
def dateDay =today.get(Calendar.DATE);

def todayDate = (dateYear + "-" + dateMonth + "-" + dateDay);
def todayDateString = todayDate.toString();
def todayDate2 = java.sql.Date.valueOf(todayDateString);

[ today : todayDate2 ]
}

运行它会产生以下堆栈跟踪:
java.lang.IllegalArgumentException
at java.sql.Date.valueOf(Date.java:138)
at java_sql_Date$valueOf.call(Unknown Source)
at samma.TapesController$_closure7.doCall(TapesController.groovy:178)
at samma.TapesController$_closure7.doCall(TapesController.groovy)
at java.lang.Thread.run(Thread.java:619)

我知道我所做的事情完全是愚蠢的,但是我无法弄清楚是什么,也没有什么解决方法。

谢谢

唐纳德

最佳答案

将上面的所有代码替换为

def currentDay  = {

def todayDate = new java.sql.Date(new Date().time)
todayDate.clearTime()

[today: todayDate]
}

关于grails - Grails-java.sql.Date的非法参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4856545/

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