Question

Il semble que je ne peux pas utiliser le javascript objet Date comme inherintly par défaut des États-Unis dates auxquelles vous initialisez avec un DateString. Il n'y a pas moyen de transmettre toute information de culture à l'objet de la date

i.e.. Peu importe ce que les clients sont les paramètres régionaux

var d = new Date ( « 08/10/2009 ») sera toujours créer un objet de date représentant le 10 Août 2009 plutôt que le 8 Octobre 2009, si les paramètres régionaux de clients était le Royaume-Uni.

Donc, étant donné que mon exigence est de pouvoir ajouter / soustraire jours / mois / années est facilement là une façon intelligente de le faire facilement sans l'objet Date

Tout ce que je dois faire est d'ajouter un jour à une date (ou une chaîne représentant une date). donc si mon code détecte les paramètres régionaux setttings sont aux États-Unis, quand il voit une chaîne comme « 10/08/2009 » il horions jusqu'à ce « 10/09/2009 » mais si elle avait détecté qu'il était au Royaume-Uni, il serait ont le savoir une représentation de chaîne uk d'une date et jusqu'à buter, il « 09/10/2009 »

Était-ce utile?

La solution

Pour la manipulation et la localisation date JavaScript Je recommande toujours la bibliothèque DateJS .

Cette bibliothèque fait abstraction de l'utilisation d'objets Date, a une très bonne options de localisation, analyse syntaxique date puissante et la mise en forme, et il a aussi une très belle API couramment.

Autres conseils

Si vous savoir vous obtenez entrée au format jj / mm / aaaa, vous pouvez facilement assembler la date correcte.

function britDay(D){
 D= D.match(/\d+/g);
 return new Date(+D[2], D[1]-1, +D[0]);
}

toLocaleDateString retourne la date dans le format attendu par l'utilisateur.

En se fondant sur l'entrée d'utilisateur qui obéit à des règles particulières de mise en forme est optimistic- qui est la raison pour laquelle la plupart des sites utilisent des entrées séparées, étiquetées ou sélectionner des champs pour le mois, la date et l'année.

Vous savez probablement qu'il est facile d'ajouter un jour à une date, il suffit d'ajouter 86.400 * 1000 millisecondes à la date. Cela ressemble à afficher dans vos paramètres régionaux est la question; ne Date.toLocaleString () pas fait la bonne chose pour vous?

dojo.date.locale.parse sera capable d'analyser une chaîne formatée selon les paramètres régionaux de votre choix. Il dispose d'une table de données culturelles unicode.org/cldr à base de. Voir cet article pour plus d'informations.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top