Convert JSON Date to JavaScript/jQuery date

var date = new Date(parseInt(jsonDate.substr(6)));

The JSON specification lacks a standardized format for date exchange, leading to various date representation methods. Microsoft .NET Web APIs typically return JSON dates in a standardized format, yet older .NET framework versions may serialize C# datetime objects into unconventional string formats such as "/Date(1530144000000+0530)/" or "/Date(1530144000000)/". Notably, the numeric portion within these JSON Date strings signifies the count of milliseconds elapsed since January 1, 1970.


json date to javascript

JSON itself lacks native support for date representation, and what .NET does with dates in JSON can be considered a non-standard extension. The challenge with dates in JSON and JavaScript, in general, stems from the absence of a standardized literal representation for date values. In JavaScript following Date constructor straight away converts the milliseconds since 1970 to Date as follows:

var jsonDate = new Date(1297246301973);

Then let's convert it to js format:

var date = new Date(parseInt(jsonDate.substr(6)));

The substr() function takes out the /Date( part, and the parseInt() function gets the integer and ignores the )/ at the end. The resulting number is passed into the Date constructor .

run this source code Browser View
Source Code
<html> <title></title> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function () { var inDate = "/Date(1297246301973)/"; //Wed Feb 09 2011 15:41:41 GMT+0530 (India Standard Time) var JavaScriptDate = new Date(parseInt(inDate.substr(6))); //to js format var dateObject = new Date(JavaScriptDate); //Date object var html = 'Input Date :' + inDate + '<br/>' + 'Full Date: ' + JavaScriptDate + '<br/>' + 'Date : ' + dateObject.getDate() + '<br/>' + 'Full Year: ' + dateObject.getFullYear() + '<br/>' + 'Hours): ' + dateObject.getHours() + '<br/>' + 'Minutes: ' + dateObject.getMinutes() + '<br/>' + 'Seconds : ' + dateObject.getSeconds() + '<br/>' + 'Time :' + dateObject.getTime() + '<br/>' + 'UTC Date : ' + dateObject.getUTCDate() + '<br/>' + 'UTC FullYear : ' + dateObject.getUTCFullYear() + '<br/>' + 'UTC Seconds : ' + dateObject.getUTCSeconds(); $('#myDiv').html(html); }); </script> </head> <body> <form id="myForm" runat="server"> <div id="myDiv"> </div> </form> </body> </html>

ISO-8601 formatted JSON dates

For ISO-8601 formatted JSON dates, just pass the string into the Date constructor:

var date = new Date(jsonDate);

Conclusion

To convert a JSON date to a JavaScript or jQuery date object, you'll need to parse the JSON date string and transform it into a valid date object using the Date constructor or a library like Moment.js if needed, as JSON doesn't natively support date representation. This process involves extracting the numeric timestamp from the JSON date string and converting it into a usable date format.