将Javascript new Date转换为Java joda DateTime格式

时间:2014-11-19 08:09:08

标签: java javascript json datetime jodatime

我的java后端有一个实体,它有一个名为createdAt的joda DateTime字段。 我有一个后期API来更新数据库上的这些值。 帖子API接受application/json values

我有一个用例,我需要从我的javascript文件发出一个Ajax POST请求,用当前日期更新实体。

现在我需要在POST数据中传递DateTime值,我在将javascript Date object转换为joda DateTime时遇到问题。

我已尝试发送javascript Date对象,但它的响应为:

另请注意:在将数据发送到java端的存储库之前,我无法对从javascript接收的数据执行任何操作。

4 个答案:

答案 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服务器中的任何日期格式。