--- title: Date.prototype.toLocaleTimeString() slug: Web/JavaScript/Reference/Global_Objects/Date/toLocaleTimeString tags: - Date - JavaScript - Інтернаціоналізація - Довідка - метод translation_of: Web/JavaScript/Reference/Global_Objects/Date/toLocaleTimeString ---
Метод toLocaleTimeString()
повертає рядкове представлення елементів часу наданої дати згідно налаштувань мови. Нові аргументи locales
та options
дозволяють застосункам вказувати мову, чиї правила форматування мають застосовуватись, а також дозволяють налаштовувати поведінку функції. У старших реалізаціях, що ігнорують аргументи locales
та options
, мовні налаштування та форма рядка, що повертається, повністю залежать від реалізації.
dateObj.toLocaleTimeString([locales[, options]])
Аргументи locales
та options
налаштовують поведінку функції та дозволяють застосункам вказувати мову, чиї правила форматування мають застосовуватись. У тих реалізаціях, які ігнорують аргументи locales
та options
, мовні налаштування та форма поверненого рядка повністю залежать від реалізації.
Дивіться конструктор {{jsxref("Intl/DateTimeFormat/DateTimeFormat", "Intl.DateTimeFormat()")}}, щоб дізнатись подробиці щодо цих параметрів та їхнього використання.
Значенням за замовчуванням для кожної властивості компонента дати-часу є undefined
, але, якщо властивості hour
, minute
, second
усі дорівнюють {{jsxref("undefined")}}, тоді hour
, minute
та second
вважаються числовими значеннями.
Рядкове відображення елементів часу наданого екземпляра {{jsxref("Global_Objects/Date", "Date")}} згідно правил встановленої мови.
При форматуванні великої кількості дат краще створити об'єкт {{jsxref("Global_Objects/DateTimeFormat", "Intl.DateTimeFormat")}} та використовувати функцію, надану його властивістю {{jsxref("DateTimeFormat.prototype.format", "format")}}.
При загальному використанні, без зазначення мови, повертається рядок у мовному форматі, що стоїть за замовчуванням, та з початковими параметрами.
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
ще не підтримуються в усіх переглядачах. Для перевірки їхньої підтримки у реалізації можна скористатись вимогою, згідно якої недозволені мовні позначення відхиляються з винятком {{jsxref("RangeError")}}:
function toLocaleTimeStringSupportsLocales() { try { new Date().toLocaleTimeString('i'); } catch (e) { return e.name === 'RangeError'; } return false; }
Цей приклад демонструє деякі варіації локалізованих форматів часу. Щоб отримати формат мови, задіяної в інтерфейсі вашого застосутку, переконайтесь, що вказали цю мову (та, можливо, кілька запасних мов) за допомогою аргументу 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"
Результат методу 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")}}