我的java后端有一个实体,它有一个名为createdAt的joda DateTime
字段。
我有一个后期API来更新数据库上的这些值。
帖子API接受application/json values
。
我有一个用例,我需要从我的javascript文件发出一个Ajax POST请求,用当前日期更新实体。
现在我需要在POST数据中传递DateTime值,我在将javascript Date object
转换为joda DateTime
时遇到问题。
我已尝试发送javascript Date对象,但它的响应为:
另请注意:在将数据发送到java端的存储库之前,我无法对从javascript接收的数据执行任何操作。
答案 0 :(得分:3)
也许有点晚了,但是:
我有类似的问题。我们在后端使用org.joda.time.LocalDate
并将new Date()
从javascript传递到后端导致转换错误。
我们通过使用new Date().valueOf()
来解决这个问题。这将获得自1970年1月1日以来的毫秒数(在MDNs JavaScript Date page处阅读。)
之后你可以做org.joda.time.LocalDate.parse(passedInValue)
答案 1 :(得分:1)
This answer 应该有所帮助。您需要将String解析为DateTime对象
答案 2 :(得分:1)
对象不能被发送"在API调用中。对象被序列化(在这种情况下转换为字符串)和反序列化(从字符串转换为适当的对象)
在这种情况下:
- 序列化:在进行POST调用之前,将Javascript Date对象转换为字符串中的适当格式
- 反序列化:引用Converting a date string to a DateTime object using Joda Time library将字符串转换为DateTime对象。
答案 3 :(得分:0)
您可以转换JavaScript new Date().toString()
,并将字符串值发布到服务器,然后您可以使用SimpleDateFormat
将此值转换为java服务器中的任何日期格式。