gpt4 book ai didi

java - NSDate 日期字符串转换为 java.util.date

转载 作者:行者123 更新时间:2023-11-29 13:41:38 25 4
gpt4 key购买 nike

我有一个 grails 服务器接收一个带有 NSDate 的 JSON 请求。我收到的日期格式如下:

2012-01-23 04:47:27 +0000

我需要把它转换成JAVA数据格式才能存储。我正在做以下转换:

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z");
Date date = (Date)formatter.parse(request.JSON.StartDate);

格式化日期显示为:Sun Jan 22 20:47:27 PST 2012

当我尝试执行 save() 时,出现以下错误:

org.springframework.validation.BeanPropertyBindingResult: 1 errors

Field error in object 'com.test.date' on field 'StartDate': rejected value [Sun Jan 22 20:47:27 PST 2012]; codes [typeMismatch.com.test.date.eventStartDate,typeMismatch.StartDate,typeMismatch.java.util.Date,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [com.test.date.StartDate,StartDate]; arguments []; default message [StartDate]]; default message [Failed to convert property value of type 'java.lang.String' to required type 'java.util.Date' for property 'StartDate'; nested exception is java.lang.IllegalStateException: Cannot convert value of type [java.lang.String] to required type [java.util.Date] for property 'StartDate': no matching editors or conversion strategy found]

谁能告诉我这有什么问题,我需要调查什么?

编辑:

即使我执行以下操作,我实际上也会收到错误:

object.date = new Date()
object.save()

这不是格式问题!!谢谢!!

最佳答案

我不认为您的代码会按所示进行编译,但无论如何看起来您正在格式化一个日期,然后立即存储(并最终尝试保存)它的字符串表示形式。只需删除多余的不必要的字符串转换:

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z");
Date date = formatter.parse(request.JSON.StartDate);

关于java - NSDate 日期字符串转换为 java.util.date,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8967433/

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