Question

Mes paramètres régionaux sont:

Court Format de date: jj / mm / aaaa, Format long Date jj MMMM yyyy

Alors pourquoi

var d = new Date("8/10/2009")
alert(d.toLocaleDateString()); 

jeter 10 Août 2009 jusqu'à

ou

var d = new Date("15/10/2009");

jeter 10e Mars 2010

Était-ce utile?

La solution

Lorsque le système reçoit le 10 Août à partir de la date devrait être évident, même si vous ne recevez pas encore pourquoi. Mais il est moins facile de comprendre comment il se « 10ème Mars 2010 » de « 15/10/2009 ». Donc, si vous l'avez manqué:

Supposons un instant l'objet Date a déjà décidé qu'il utilise un format « M / d / y », de sorte que la première partie (15) est le mois. Comment serait-il gérer cela? Ce qui se passe est qu'il commence par l'année et construit la date « 1/1/2009 ». Il avance alors au 15 mois, pour vous donner Mars 2010. Ajoutez les 10 jours et vous allez là-bas.

Pour le « pourquoi » de celui-ci, notez que vous deviez appeler toLocaleDateString() pour l'obtenir à la sortie dans le format de votre lieu particulier. Mais votre new Date() ne fait aucune mention similaire locale partout. Donc, il est juste à l'utiliser est la culture intégrée invariant.

Autres conseils

Essayez plutôt.

var myDate=new Date();
myDate.setFullYear(2010,0,14);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top