La chaîne suivante a été renvoyée par un objet de réponse formaté en JSON et je souhaite l'analyser pour en faire quelque chose d'utile : /Date(1283457528340)/
Comment l'analyser à l'aide de JavaScript pour en faire quelque chose de convivial ?
La chaîne suivante a été renvoyée par un objet de réponse formaté en JSON et je souhaite l'analyser pour en faire quelque chose d'utile : /Date(1283457528340)/
Comment l'analyser à l'aide de JavaScript pour en faire quelque chose de convivial ?
C'est le nombre de millisecondes depuis l'époque.
Cette fonction extrait un nombre d'une chaîne de caractères et renvoie un objet Date créé à partir de ce nombre.
function dateFromStringWithTime(str) {
var match;
if (!(match = str.match(/\d+/))) {
return false;
}
var date = new Date();
date.setTime (match[0] - 0);
return date;
}
Par exemple,
console.log(dateFromStringWithTime('/Date(1283457528340)/').toString());
Le résultat est le suivant :
Fri Sep 03 2010 02:58:48 GMT+0700 (ICT)
Dépend. Que représente cette valeur ? En supposant que l'horodatage UNIX soit en millisecondes (ajustez autrement), vous pouvez extraire la valeur, puis appliquer parseInt
et construire un nouveau Date
avec lui.
var str = "/Date(1283457528340)/";
var matches = str.match(/([0-9]+)/);
var d = parseInt(matches[0]);
var obj = new Date(d);
Vous devriez alors être en mesure d'utiliser la fonction Date
comme d'habitude. Ceci n'a pas été testé et peut contenir des erreurs, mais l'idée devrait être bonne.
Edita: matches[1]
-> matches[0]
function parseJsonDate(jsonDate) {
var epochMillis = jsonDate;
var d = new Date(parseInt(epochMillis.substr(6)));
return d;
}
Le code ci-dessus vous donnera une date formatée d'une manière utile dans une vue donnée.
Le paramètre passé dans la fonction ( jsonDate
) est la chaîne de caractères que vous essayez de convertir et la ligne return d
renvoie la date bien formatée.
Il s'agit simplement d'un autre moyen d'obtenir la date dont vous avez besoin.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.