Nicolas Decroos Nicolas Decroos - 5 months ago 48
jQuery Question

New Date() returns invalid date

I'm trying to calculate a difference between 2 days using jQuery. The input fields are the Bootstrap datepicker ones.

When I console.log the field values, they give me a date an in the format dd-mm-yyyy

Code:

console.log($("#actie_begin").val());


Logs:


27/06/2016


However when I try to use a new date() (to do the calculations) on it, the variable becomes 'Invalid date'

Code:

var start_date = new Date($("#actie_begin").val());


Logs:


Invalid Date


How can I solve this?

Answer

The format you use is not supported by Date.parse.
You could extract the date parts and call the Date(year, month, day) constructor

var starts = $("#actie_begin").val();
var match = /(\d+)\/(\d+)\/(\d+)/.exec(dates)
var start_date = new Date(match[3], match[2], match[1]);