Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Date 仅在groovy中以日期数据类型传递日期_Date_Grails_Gorm - Fatal编程技术网

Date 仅在groovy中以日期数据类型传递日期

Date 仅在groovy中以日期数据类型传递日期,date,grails,gorm,Date,Grails,Gorm,在对这么简单的事情做了这么多的研究之后,我一直在努力解决这个问题,所以我需要一些帮助 我只需要以“yyyy-MM-dd”格式在日期数据类型中传递当前日期。SimpleDataFormat将当前日期转换为字符串类型,并在尝试解析时将其转换为日期类型,但会更改格式 我需要日期类型为“yyyy-MM-dd”格式的currentDate if(!session.dtfromDate && !session.dttoDate) eq(

在对这么简单的事情做了这么多的研究之后,我一直在努力解决这个问题,所以我需要一些帮助

我只需要以“yyyy-MM-dd”格式在日期数据类型中传递当前日期。SimpleDataFormat将当前日期转换为字符串类型,并在尝试解析时将其转换为日期类型,但会更改格式

我需要日期类型为“yyyy-MM-dd”格式的currentDate

if(!session.dtfromDate && !session.dttoDate)
                            eq("startDate", currentDate)

我已经设法找到了解决办法。首先得到了我想要的格式,它显然将其转换为字符串,然后将其解析为日期。它工作得非常好

SimpleDateFormat nsdf = new SimpleDateFormat('yyyy-MM-dd')
String currentDate = new SimpleDateFormat('yyyy-MM-dd').format(new Date());
Date newDate = (Date)nsdf.parse(currentDate)

if(!session.dtfromDate && !session.dttoDate)

                    eq("startDate", newDate)

你犯了什么错误?也许发布java代码片段有助于回答您的问题。您想要的是不可能的<代码>日期对象没有格式,因此“格式为'yyyy-MM-dd'的
日期
对象”毫无意义。
Date
对象只是一个日期值,就像
int
只是一个数字一样,它本身没有格式。这是关于grails/gorm以及如何为查询(而不是一般的java/groovy)构建它的,对吗?除非我错过了一些更大的图片,否则这可能会缩短为
defnewdate=newDate()
这将给出当前日期是,但不是我想要的格式。整个场景都是以日期格式将控制器中的日期作为当前日期传递,数据存储在数据库中(属于日期数据类型)。因此问题是:如何从
现在
删除时间?这是不必要的复杂。首先将一个新的
日期
对象格式化为
字符串
,然后立即将其再次解析为
日期
对象。请注意,
Date
对象没有格式。这种格式化和解析没有任何用处。这段代码并不像你想象的那样。@Isha First things First,a
DATE
没有任何格式。你所看到的只是为了展示。对于日期算术,应该保持日期不变,不需要从日期-->字符串-->日期进行所有转换,这是不必要的复杂,没有意义。