Как форматировать числа и даты в соответствии с языковыми настройками пользователя?

Мне нужен способ автоматического форматирования объектов Date и Number на основе региональных настроек моих пользователей.

До сих пор я использовал функцию toLocaleString()для дат. Для чисел также доступен toLocaleString(), но, как вы можете видеть в jsFiddle , который я подготовил, результаты сильно различаются в разных браузерах. С английской (локалью США )на моем компьютере с Windows я получаю это:

  • IE9 :15 000,00
  • Firefox :15 000
  • Хром :15000

В Chrome кажется, что toLocaleString()вообще не работает для чисел. Кроме этого подхода, я также пробовал:

  • Чтобы использовать функцию библиотеки MicrosoftAjax.js localeFormat(), но независимо от того, какую локаль я установил на своем ПК (с помощью диалогового окна «Регион и язык» ), даты и числа по-прежнему форматировались в формате США.
  • Чтобы использовать такие библиотеки, как Globalize . Хотя они предлагают возможности форматирования, они не могут автоматически определять языковой стандарт пользователя.

Итак, резюмируя :, как автоматически форматировать числа и даты с учетом региональных настроек пользователя, который просматривает веб-страницу, таким образом, чтобы это работало во всех основных браузерах (IE, Firefox, Chrome )?

7
задан thefourtheye 11 January 2014 в 05:28
поделиться