I have a problem regarding the JavaScript date function.
var atime = new Date("07.08.2021");
var btime = new Date("19.08.2021");
var ctime = new Date("03.10.2021");
var today = new Date();
console.log(atime);
console.log(btime);
The variables "atime", "ctime" and "today" are working perfectly fine, but btime does not. It always says "Invalid Date", but why, it is completely the same as atime, or ctime?
It does not work with new Date("08/19/2021") either?
CodePudding user response:
Refer to documentation of Date at https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date#several_ways_to_create_a_date_object that warns for parsing strings
Note: Parsing of date strings with the Date constructor (and Date.parse, they are equivalent) is strongly discouraged due to browser differences and inconsistencies.
Prefer this kind of notation new Date(2021, 8, 19)
In addition, I would strongly recommend you invest some time to consider using Moment.js, e.g. https://momentjs.com/docs/#/parsing/string-format/
CodePudding user response:
As stated here you should only use one of the 3 date formats:
- ISO Date: "YYYY-MM-DD" (The International Standard)
- Short Date: "MM/DD/YYY"
- Long Date: "Mar 25 2015" or "25 Mar 2015"
Other formats might get interpreted different depending on which browser you are using. Switching your date format to Short Date would probably fix your Problem
