08-18-2020 12:26 PM
Hi, I have a problem with the Date.parse () function.
I cannot convert a String to date, the format of my string is the following: “dd/MM/yyyy”.
It only happens to me with some specific dates (with most data I have no problem).
The problem occurs with the following examples:
Date.parse (“01/04/1932”, “dd/MM/yyyy”)
Date.parse (“05/02/1939”, “dd/MM/yyyy”)
Date.parse (“09/12/1940”, “dd/MM/yyyy”)
Date.parse (“16/12/1943”, “dd/MM/yyyy”)
Date.parse (“12/02/1950”, “dd/MM/yyyy”)
And I always get a NaN as a result of the function.
Thank you.
03-15-2021 11:45 AM
I have a similar issue. When I use literal string, it works. But using a field, it does not. Additionally, it only happened yesterday 2021-03-14.
This fails.
This works.
03-15-2021 01:55 PM
Date.parse(“2021-03-14 02:40:18.000”,“yyyy-MM-dd HH:mm:ss.SSS”)
Use this on my mapper and it worked. However, when I use same approach on my existing snaplogic job coming from a field and it fails. I will just do date manipulation inside SQL as standard functions in Snaplogic is buggy.
03-16-2021 07:54 AM
When you have time, could you give an example of the string format and date where it fails?
03-16-2021 09:33 AM
Sure. It is actually the same date in my reply. It only fails because it returns NaN. The weird about it is that I have a similar job running the same way and it does not fail.
Date.parse(“2021-03-14 02:40:18.000”,“yyyy-MM-dd HH:mm:ss”+“.000”) - the difference is the .000 at the end.
03-16-2021 09:58 AM
So the format string should include the milliseconds or the parse fails with NaN
.
Could you try this format with the milliseconds on the end?
Date.parse("2021-03-14 02:40:18.000", "yyyy-MM-dd HH:mm:ss.SSS")
Here’s a pipeline to play around with the two different parse examples.
date-parse-example_2021_03_16.slp (2.3 KB)