2010-06-25 7 views
2

Pourquoi Chrome ne spécifie-t-il pas AM ou PM lors de l'affichage d'une date en utilisant date.toLocaleString()? La chaîne que je reçois est Fri Jun 25 2010 11:21:09 GMT+1000. Alors que IE renvoie presque la même chaîne mais avec AM après le temps.Chrome, javascript Date et toLocaleString()

est-il une méthode sur l'objet Date je peux appeler pour vérifier si elle est AM ou PM et, plus important encore, vérifier si les paramètres régionaux de l'utilisateur utilise des cycles de 12 heures ou 24 heures?

Mise à jour. Trouvé ce bug http://code.google.com/p/v8/issues/detail?id=135. C'est très vieux, j'espérais qu'il y aurait des mises à jour dessus.

+0

Le rapport de bogue est continué dans [Problème 180] (http://code.google.com/p/v8/issues/detail?id=180). –

Répondre

1

getHours renvoie une valeur comprise entre 0 et 23, ce qui vous permet de déterminer facilement si c'est avant ou après midi.

Cependant, je ne connais aucune méthode pour obtenir une sorte de chaîne locale universelle. Il est tout à fait au navigateur:

Le contenu de la chaîne sont en fonction de la mise en œuvre, mais sont destinés à représenter la date dans la zone heure actuelle sous une forme pratique, lisible par l'homme qui correspond aux conventions de l'environnement local actuel de l'environnement hôte. - ECMAScript 5, § 15.9.5.5

Au lieu de cela, vous pouvez plus ou moins test the user's language setting et construire vous-même chaîne.

+0

Le paramètre de langue n'est pas un indicateur fiable du format de date préféré. Il vaut mieux utiliser simplement un format non ambigu. ;-) – RobG