I am using Visual Studio 2013 with C#.
I am calling one ActionResult method that returns the list of data from Ajax.
The problem here is I am getting date as
I have done it like this:(Is it ok)
function getDateIfDate(d) {
var m = d.match(/\/Date\((\d+)\)\//);
return (new Date(+m[1])).getMonth() + "/" + (new Date(+m[1])).getDate() + "/" + (new Date(+m[1])).getFullYear();
//return m ? (new Date(+m[1])) : d;
}
In pure javascript, you can do this:
var date = new Date(Number("/Date(1460008501597)/".replace(/\D/g, '')));
Explanation:
new Date(
Number(
"/Date(1460008501597)/".replace(/\D/g, '') // Removes all non digit characters
) // Cast it to numeric
) // Creates a new Date object with the resultant number
Now, for more accurate solution for your problem, like display the date w/o javascript(which I think would be better choice), you can improve your question with more detail/information/code.
You could use a function which return a date if the date string is in the wanted form or the value itself.
function getDateIfDate(d) {
var m = d.match(/\/Date\((\d+)\)\//);
return m ? (new Date(+m[1])).toLocaleDateString('en-US', {month: '2-digit', day: '2-digit', year: 'numeric'}) : d;
}
console.log(getDateIfDate("/Date(1460008501597)/"));
console.log(getDateIfDate('abc'));