I have a function that converts a date to YYYY-MM-DD from DD/MM/YYYY.
This works in all browsers apart from IE8, for some reason, when creating a new Date object, it is returning NaN.
Basic implementation of the code http://jsfiddle.net/bX83c/1/
var compareDate = function(value){
var dateFragements = value.split('/');
if (dateFragements.length == 3) {
var currentDate = new Date();
currentDate.setHours(0, 0, 0, 0);
var startDate = new Date(dateFragements[2] + '-' + dateFragements[1] + '-' + dateFragements[0]);
if (startDate >= currentDate) {
return true;
} else {
return false;
}
}
}
alert(compareDate('17/09/2013'));
Intialise your date like this. It will work in all browsers
var startDate = new Date(dateFragements[2] , dateFragements[1] , dateFragements[0]);
There are 4 ways in which Date
object can be intialised using constructor
new Date() // current date and time
new Date(milliseconds) //milliseconds since 1970/01/01
new Date(dateString)
new Date(year, month, day, hours, minutes, seconds, milliseconds)
String in Date object doesn't mean it will accept all date strings. If you want to give a string as input give this. (dateFragements[2] +'/' + dateFragements[1] + '/' + dateFragements[0]);. (/
as the separator) It will be supported in all browsers