essayer d'ajouter une nouvelle date à JavaScript
Comment le nombre est devenu dans un fichier JSON. P>
Voici ce que j'ai. P>
P >
myObj = {"yearsleft":"2", "name": "john"};
var term = myObj.yearsleft;
var d = new Date();
var year = d.getFullYear() + term.toString();
var month = d.getMonth()+1;
var day = d.getDate();
var output = ''+ (day<10 ? '0' : '') + day + '/' + (month<10 ? '0' : '') + month + '/' + year;
alert(output);3 Réponses :
Vous ajoutez une chaîne à un numéro, convertissez-la en int, puis ajoutez.
var year = d.getFullYear() + parseInt(term.toString(), 10);
Soyez prudent, parseint code> < / a> n'est pas par défaut à la base 10 ... alors utilisez toujours parseint (..., 10) code>
@ FreeFallerer- Oui, il fait , à moins que le String commence avec '0x' code>, quand il est par défaut à la base 16. PS MDN est juste un wiki public que tout le monde peut contribuer, ce n'est pas normatif. ECMA-262 est.
@ROBG - Assez juste, il doit avoir changé au fil des ans, car il était utilisé par défaut à la base-8 si vous n'étiez pas prudent
Convertir en un nombre - vous ne concatéez actuellement pas d'ajout.
p>
myObj = {"yearsleft":"2", "name": "john"};
var term = myObj.yearsleft;
var d = new Date();
var year = d.getFullYear() + +term;
var month = d.getMonth()+1;
var day = d.getDate();
var output = ''+ (day<10 ? '0' : '') + day + '/' + (month<10 ? '0' : '') + month + '/' + year;
console.log(output);d.getFullYear() + parseFloat(term); Seem to have fixed it for me.
Il est plus logique d'utiliser Paysint au lieu de flotter, alors utilisez parseint (terme, 10) code> le 10 est pour la base, comme @freefalder a déclaré sur une réponse différente, Parset ne fait pas toujours partie de la base. 10, vous devriez donc l'ajouter au cas où.
Terme est String Convert en nombre et ajoutez Var Varny Année = D.Gutenture () + parseint (terme.tostring ());
Vous voulez dire dans le fichier JSON d'origine? Parce que c'est impossible pour moi de changer cela. Comme ce n'est pas quelque chose que je peux changer.
Pas sur le fichier JSON. Juste le convert
terme code> variable au numéro :)@Eddie merci votre lien m'a aidé beaucoup.
Vous ne pouvez pas ajouter de valeurs aux pièces de date sans tester si le résultat est une date valide. Par exemple. 29 février 2004 + 2 ans est le 29 février 2006, mais c'est une date non valide car 2006 n'étaient pas une année bissextile.