Получить краткий формат даты локали, используя JavaScript - PullRequest
58 голосов
/ 05 марта 2010

Можно ли как-нибудь узнать, используя JavaScript формат короткой даты, используемый в Панели управления -> Региональные и языковые настройки?

Я знаю, используя следующую комбинацию, мы можем получить формат длинного имени локали

toString()
toLocaleString()
toLocaleDateString()
toLocaleTimeString()

Но в JavaScript нет прямой функции, такой как toLocaleShortDateString().

Существуют ли какие-либо сценарии, чтобы узнать, какие настройки пользователя?

Спасибо.

Ответы [ 15 ]

1 голос
/ 04 сентября 2013

Небольшое изменение ответа Митали. Для динамической генерации языка для более локализованного решения.

var lang= window.navigator.userLanguage || window.navigator.language;

var date = new Date();

var options = {
   weekday: "short",
   year: "numeric",
   month: "2-digit",
   day: "numeric"
};

date.toLocaleDateString(lang, options);
1 голос
/ 07 сентября 2011

Легкого пути нет. Если вам нужно надежное кросс-браузерное решение, вам нужно будет составить справочную таблицу даты и строки формата времени в зависимости от культуры. Чтобы отформатировать дату, проанализируйте соответствующую строку формата, извлеките соответствующие части из даты, то есть день, месяц, год, и добавьте их вместе.

По сути, это то, что Microsoft делает со своей библиотекой AJAX, как показано в ответе @ no.

0 голосов
/ 21 июля 2015

Я полагаю, вы можете использовать это: new Date (). ToLocaleDateString ();

, который может принимать параметры для локали: new Date (). ToLocaleDateString ("en-us");new Date (). toLocaleDateString ("he-il");

Я вижу, что поддерживается Chrome, IE, edge, хотя результаты могут отличаться, это довольно неплохо для меня.

0 голосов
/ 12 ноября 2013

Попробуйте использовать Date.CultureInfo.formatPatterns.shortDate

0 голосов
/ 17 октября 2011

Попробуйте это:

new Date().toLocaleFormat("%x");

Все форматы для этой функции можно найти здесь: http://pubs.opengroup.org/onlinepubs/007908799/xsh/strftime.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...