Maison >interface Web >js tutoriel >Comment gérer le format de date non standard d'ASP.NET MVC JsonResult en JavaScript ?

Comment gérer le format de date non standard d'ASP.NET MVC JsonResult en JavaScript ?

DDD
DDDoriginal
2024-12-20 18:22:12269parcourir

How to Handle ASP.NET MVC JsonResult's Non-Standard Date Format in JavaScript?

Format de date JsonResult ASP.NET MVC

Lors du renvoi d'un JsonResult dans ASP.NET MVC, vous pouvez rencontrer un problème où les propriétés de date sont sérialisé dans un format tel que "/Date(1239018869048)/". Ce format n'est pas lisible par JavaScript et peut poser des problèmes lors de la gestion des dates dans votre application.

Solution 1 : analyser manuellement la chaîne de date en JavaScript

Une approche consiste à analyser la chaîne de date manuellement en JavaScript à l'aide du code suivant :

value = new Date(parseInt(value.replace("/Date(", "").replace(")/",""), 10));

Ce code supprime les caractères "Date(" et ")" de la chaîne et le convertit en un objet Date.

Solution 2 : utilisez JSON.parse() avec une fonction Reviver

Une autre option consiste à utiliser JSON.parse() fonction avec une fonction reviver qui convertit la chaîne de date en un objet Date. Par exemple :

var parsed = JSON.parse(data, function(key, value) {
  if (typeof value === 'string') {
    var d = /\/Date\((\d*)\)\//.exec(value);
    return (d) ? new Date(+d[1]) : value;
  }
  return value;
});

Dans ce code, la fonction reviver vérifie si la valeur est une chaîne et correspond au modèle "/Date((d*))/". Si tel est le cas, la valeur est convertie en objet Date à l’aide du constructeur Date. Sinon, la valeur d'origine est renvoyée.

Considérations supplémentaires

Il est important de noter que la spécification JSON ne définit pas de format de date standard. Le format "/Date(ticks)/" utilisé par ASP.NET MVC est une convention qui permet à JSON de représenter un objet Date.

Lors de la gestion des dates en JavaScript, vous devez prendre en compte les éléments suivants :

  • La fonction Date.parse() peut également être utilisée pour analyser des chaînes de date, mais elle présente certaines limites.
  • Vous devrez peut-être spécifier l'heure correcte zone lors de la création d'un objet Date pour garantir que les dates sont gérées correctement.
  • ES6 a introduit une nouvelle méthode Date.toISOString() qui renvoie une date au format ISO 8601, qui est un format standard reconnu par de nombreux langages de programmation. et applications.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn