How do I format a Microsoft JSON date?

后端 未结 30 3265
伪装坚强ぢ
伪装坚强ぢ 2020-11-21 04:48

I\'m taking my first crack at Ajax with jQuery. I\'m getting my data onto my page, but I\'m having some trouble with the JSON data that is returned for Date data types. Basi

30条回答
  •  时光取名叫无心
    2020-11-21 05:11

    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.


    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
    

提交回复
热议问题