J’utilise Visual Studio 2013 en C #.
J’appelle une méthode ActionResult qui renvoie la liste des données provenant d’Ajax.
Le problème ici est que je reçois la date "/Date(1460008501597)/"
.
Je ne sais pas comment le convertir pour l’afficher sur un formulaire en utilisant javascript.
S’il vous plaît, aidez-moi, j’ai du mal à le résoudre.
Vous pouvez utiliser une fonction qui renvoie une date si la chaîne de date est dans le formulaire souhaité ou la valeur elle-même.
function getDateIfDate(d) { var m = d.match(/\/Date\((\d+)\)\//); return m ? (new Date(+m[1])).toLocaleDateSsortingng('en-US', {month: '2-digit', day: '2-digit', year: 'numeric'}) : d; } console.log(getDateIfDate("/Date(1460008501597)/")); console.log(getDateIfDate('abc'));
En javascript pur, vous pouvez faire ceci:
var date = new Date(Number("/Date(1460008501597)/".replace(/\D/g, '')));
Explication:
new Date( Number( "/Date(1460008501597)/".replace(/\D/g, '') // Removes all non digit characters ) // Cast it to numeric ) // Creates a new Date object with the resultant number
Maintenant, pour une solution plus précise de votre problème, comme l’affichage de la date sans javascript (ce qui, à mon avis, serait un meilleur choix), vous pouvez améliorer votre question avec davantage de détails / d’informations / de code.
Je l’ai fait comme ça: (est-ce que ça va)
function getDateIfDate(d) { var m = d.match(/\/Date\((\d+)\)\//); return (new Date(+m[1])).getMonth() + "/" + (new Date(+m[1])).getDate() + "/" + (new Date(+m[1])).getFullYear(); //return m ? (new Date(+m[1])) : d; }