30 Kasım 2020, Pazartesi
Ana Sayfa / Programlama / How do I format a Microsoft JSON date?

How do I format a Microsoft JSON date?

Eval is not necessary. This will work fine:

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.

EDIT: I have intentionally left out the radix (the 2nd argument to parseInt); see my comment below. Also, I completely agree with Rory’s comment: ISO-8601 dates are preferred over this old format — so this format generally shouldn’t be used for new development. See the excellent Json.NET library for a great alternative that serializes dates using the ISO-8601 format.

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

var date = new Date(jsonDate); //no ugly parsing needed; full timezone support