I am trying to do something relatively simple. I have a date in this format dd/MM/yyyy eg:
var newDate = "?11?/?06?/?2015";
And I want to convert it to a date.
This code only works in Chrome and Firefox:
new Date(newDate)
In IE11 I get Nan
So I am trying to do this:
var parts = newDate.split("/");
var year = parts[2].trim();
var month = parts[1].trim();
var day = parts[0].trim();
var dt = new Date(Number(year), Number(month) - 1, Number(day));
Which should work, but I have encountered a very strange bug.
If you try this code:
function myFunction() {
var newDate = "?11?/?06?/?2015";
var parts = newDate.split('/');
var year = parts[2].trim();
var a = year;
var b = Number(year);
var c = parseInt(year, 10);
var d = parts;
var n = a + "<br>" + b + "<br>" + c + "<br>" + d;
document.getElementById("demo").innerHTML = n;
}
<p>Click the button to see the parse error.</p>
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
See Question&Answers more detail:os