如何在java中将“2017-04-03T00:00:00”日期格式转换为“2017-04-02 03:30:00 + 05:30”?

问题描述:

我的应用程序生成日期“2017-04-03T00:00:00”格式,我试图把它与如何在java中将“2017-04-03T00:00:00”日期格式转换为“2017-04-02 03:30:00 + 05:30”?

“2017年4月3日00:00保存的Postgres数据库:00 + 05:30“

。用sql查询,日期得到妥善保存在数据库中。但是,当我试图把它与GROM save()方法保存,它显示 “现场 '开始日期':拒绝值2017-04-03T00:00:00]”

我正在使用org.grails.datastore.gorm.GormInstanceApi.save() API。这里是我的代码片段:

def update(name, startdate, enddate) { 
    TestExt mydomain = new TestExt (name: name, startdate:startdate, enddate:enddate) 
    if(mydomain.hasErrors() || !mydomain.save(flush:true)){ 
     println mydomain.errors 
    } 
    // TestExt.executeUpdate("update TestExt set name='"+name +"', start_date='"+startdate +"', end_date='"+enddate +"' where id=1") 
} 

任何人都可以帮助我吗? 非常感谢提前!

+0

什么是'GROM save()'? – dr0i

+1

寻求调试帮助的问题(“为什么这个代码不工作?”)必须包含所需的行为,特定的问题或错误以及在问题本身中重现问题所需的最短代码。没有明确问题陈述的问题对其他读者无益。请参阅:如何创建[mcve]。 – GhostCat

+1

我们可以为您提供的唯一答案**不**在此发布您的代码:学习使用调试器。我们只能帮助我们看到的代码。 – GhostCat

我假设你试图插入这个值的字段是一个TIMESTAMP。你是否试图施放它?

SELECT CAST('2017-04-03T00:05:00' AS TIMESTAMP); 
+0

这里的问题实际上是用户定义了'def update(name,startdate,enddate)'没有定义什么开始或结束日期,因此它会接受字符串或日期。实际问题是传入的日期参数是字符串格式,需要采用日期格式。解决方案是设置默认的日期格式尝试搜索该词,并且整个问题的答案就在那里。抱歉,不是@ jim,而是@mam – Vahid