--- title: Date.prototype.toLocaleTimeString() slug: Web/JavaScript/Reference/Global_Objects/Date/toLocaleTimeString tags: - Date - JavaScript - Інтернаціоналізація - Довідка - метод translation_of: Web/JavaScript/Reference/Global_Objects/Date/toLocaleTimeString ---
{{JSRef}}

Метод toLocaleTimeString() повертає рядкове представлення елементів часу наданої дати згідно налаштувань мови. Нові аргументи locales та options дозволяють застосункам вказувати мову, чиї правила форматування мають застосовуватись, а також дозволяють налаштовувати поведінку функції. У старших реалізаціях, що ігнорують аргументи locales та options, мовні налаштування та форма рядка, що повертається, повністю залежать від реалізації.

{{EmbedInteractiveExample("pages/js/date-tolocaletimestring.html")}}

Синтаксис

dateObj.toLocaleTimeString([locales[, options]])

Параметри

Аргументи locales та options налаштовують поведінку функції та дозволяють застосункам вказувати мову, чиї правила форматування мають застосовуватись. У тих реалізаціях, які ігнорують аргументи locales та options, мовні налаштування та форма поверненого рядка повністю залежать від реалізації.

Дивіться конструктор {{jsxref("Intl/DateTimeFormat/DateTimeFormat", "Intl.DateTimeFormat()")}}, щоб дізнатись подробиці щодо цих параметрів та їхнього використання.

Значенням за замовчуванням для кожної властивості компонента дати-часу є undefined, але, якщо властивості hour, minute, second усі дорівнюють {{jsxref("undefined")}}, тоді hourminute та second вважаються числовими значеннями.

Повертає

Рядкове відображення елементів часу наданого екземпляра {{jsxref("Global_Objects/Date", "Date")}} згідно правил встановленої мови.

Швидкодія

При форматуванні великої кількості дат краще створити об'єкт {{jsxref("Global_Objects/DateTimeFormat", "Intl.DateTimeFormat")}} та використовувати функцію, надану його властивістю {{jsxref("DateTimeFormat.prototype.format", "format")}}.

Приклади

Використання toLocaleTimeString()

При загальному використанні, без зазначення мови, повертається рядок у мовному форматі, що стоїть за замовчуванням, та з початковими параметрами.

var date = new Date(Date.UTC(2012, 11, 12, 3, 0, 0));

// toLocaleTimeString() без аргументів залежить від реалізації,
// мова та часовий пояс за замовчуванням
console.log(date.toLocaleTimeString());
// → "7:00:00 PM" при використанні мови en-US з часовим поясом America/Los_Angeles

Перевірка підтримки аргументів locales та options

Аргументи locales та options ще не підтримуються в усіх переглядачах. Для перевірки їхньої підтримки у реалізації можна скористатись вимогою, згідно якої недозволені мовні позначення відхиляються з винятком {{jsxref("RangeError")}}:

function toLocaleTimeStringSupportsLocales() {
  try {
    new Date().toLocaleTimeString('i');
  } catch (e) {
    return e​.name === 'RangeError';
  }
  return false;
}

Використання locales

Цей приклад демонструє деякі варіації локалізованих форматів часу. Щоб отримати формат мови, задіяної в інтерфейсі вашого застосутку, переконайтесь, що вказали цю мову (та, можливо, кілька запасних мов) за допомогою аргументу locales:

var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));

// наведені приклади припускають використання локального часового поясу для мови;
// для US це America/Los_Angeles

// американська англійська використовує 12-годинний формат часу з AM/PM
console.log(date.toLocaleTimeString('en-US'));
// → "7:00:00 PM"

// британська англійська використовує 24-годинний часовий формат без AM/PM
console.log(date.toLocaleTimeString('en-GB'));
// → "03:00:00"

// корейська мова використовує 12-годинний часовий формат з AM/PM
console.log(date.toLocaleTimeString('ko-KR'));
// → "오후 12:00:00"

// арабська у більшості арабськомовних країн використовує справжні арабські цифри
console.log(date.toLocaleTimeString('ar-EG'));
// → "٧:٠٠:٠٠ م"

// при запиті мови, яка, можливо, не підтримується, наприклад,
// балійської, додайте запасні мови, в даному випадку це індонезійська
console.log(date.toLocaleTimeString(['ban', 'id']));
// → "11.00.00"

Використання options

Результат методу toLocaleTimeString() можна налаштувати за допомогою аргументу options:

var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));

// застосунок може використати час UTC, так, щоб це було видно
var options = { timeZone: 'UTC', timeZoneName: 'short' };
console.log(date.toLocaleTimeString('en-US', options));
// → "3:00:00 AM UTC"

// іноді навіть американській англійській потрібен 24-годинний час
console.log(date.toLocaleTimeString('en-US', { hour12: false }));
// → "19:00:00"

// показати лише години та хвилини, використати options та мову за замовчуванням - передати порожній масив
console.log(date.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' }));
// → "20:01"

Специфікації

Специфікація
{{SpecName('ESDraft', '#sec-date.prototype.tolocaletimestring', 'Date.prototype.toLocaleTimeString')}}
{{SpecName('ES Int Draft', '#sup-date.prototype.tolocaletimestring', 'Date.prototype.toLocaleTimeString')}}

Сумісність з веб-переглядачами

{{Compat("javascript.builtins.Date.toLocaleTimeString")}}

Див. також