I have a requirement to convert date time in moment.js. But it gives me different result in Chrome and Firefox.
In Google Chrome it gives correct result but in Mozilla firefox gives "Invalid date".
Google chrome
moment('2016-Jan-02 02:00 AM').format()
Output: "2016-01-02T02:00:00+05:30"
Mozilla firefox
moment('2016-Jan-02 02:00 AM').format()
"Invalid date"
Your help is much appreciated.
You're not specifying a format for parsing the string 2016-Jan-02, so moment falls back to the native Date object, which is inconsistent across different browsers.
To parse the date consistently, include a format string along with it.
e.g.
moment("2016-Jan-02", "DD-MMM-YYYY")
Then if you want to format the moment object as a string, you can do what you were doing before:
moment("2016-Jan-02", "DD-MMM-YYYY").format("DD-MM-YYYY")
which returns the string 02-01-2016 in both browsers.
It's recommended to avoid using moment parsing with custom format. As the documentation states:
In your case, the code for consistent parsing will be: