Comment formater une date JSON Microsoft ?
eval() n’est pas nécessaire. Ceci fonctionnera très bien :
var date = new Date(parseInt(jsonDate.substr(6)));
La fonction substr() extrait la partie /Date(, et la fonction parseInt() obtient l’entier et ignore le )/ à la fin. Le nombre résultant est passé au constructeur Date.
J’ai intentionnellement omis le radix (le 2e argument de parseInt) ; voir mon commentaire ci-dessous.
Aussi, je suis tout à fait d’accord avec le commentaire de Rory : les dates ISO-8601 sont préférées à cet ancien format - ce format ne devrait donc généralement pas être utilisé pour de nouveaux développements.
Pour les dates JSON au format ISO-8601, passez simplement la chaîne au constructeur Date :
var date = new Date(jsonDate); //no ugly parsing needed; full timezone support