Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Convert Javascript new Date to Java joda DateTime format

I have an entity at my java backend which has a joda DateTime field called createdAt. I have a post API to update these values on the Database. The post API accepts application/json values.

I have an use case where in i need to make a Ajax POST request from my javascript file that updates the entity with the current date.

Now that i need to pass a DateTime value in the POST data, i face a problem in converting the javascript Date object into joda DateTime.

I have tried sending the javascript Date object but it responds as :

Also Note: I cannot perform any actions on the data i receive from javascript before sending it to the repository on the java side.

like image 437
Kousick Shanmugam Nagaraj Avatar asked Jun 20 '26 06:06

Kousick Shanmugam Nagaraj


2 Answers

A bit late perhaps, but:

I had a similar problem. We use org.joda.time.LocalDate in our backend and passing a new Date() from javascript to the backend resulted in a conversion error. We solved this by using new Date().valueOf() instead. This will get the milliseconds since 1 jan 1970 (read about it at MDNs JavaScript Date page).

After that you could just do org.joda.time.LocalDate.parse(passedInValue)

like image 111
qwelyt Avatar answered Jun 21 '26 18:06

qwelyt


Objects cannot be "sent" in API calls. Objects are serialized(convert to string in this case) and deserialized(convert to appropriate object from string)

In this case:
- Serialization: Convert the Javascript Date object to appropriate format in a string before making the POST call
- Deserialize: Refer Converting a date string to a DateTime object using Joda Time library to convert the string into a DateTime object.

like image 20
Trojanware Avatar answered Jun 21 '26 20:06

Trojanware