Date.prototype.toLocaleTimeString()
Метод toLocaleTimeString()
повертає рядкове представлення елементів часу наданої дати згідно налаштувань мови. Нові аргументи locales
та options
дозволяють застосункам вказувати мову, чиї правила форматування мають застосовуватись, а також дозволяють налаштовувати поведінку функції. У старших реалізаціях, що ігнорують аргументи locales
та options
, мовні налаштування та форма рядка, що повертається, повністю залежать від реалізації.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
Синтаксис
dateObj.toLocaleTimeString([locales[, options]])
Параметри
Аргументи locales
та options
налаштовують поведінку функції та дозволяють застосункам вказувати мову, чиї правила форматування мають застосовуватись. У тих реалізаціях, які ігнорують аргументи locales
та options
, мовні налаштування та форма поверненого рядка повністю залежать від реалізації.
Дивіться конструктор Intl.DateTimeFormat()
, щоб дізнатись подробиці щодо цих параметрів та їхнього використання.
Значенням за замовчуванням для кожної властивості компонента дати-часу є undefined
, але, якщо властивості hour
, minute
, second
усі дорівнюють undefined
, тоді hour
, minute
та second
вважаються числовими значеннями.
Повертає
Рядкове відображення елементів часу наданого екземпляра Date
згідно правил встановленої мови.
Швидкодія
При форматуванні великої кількості дат краще створити об'єкт Intl.DateTimeFormat
та використовувати функцію, надану його властивістю 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
ще не підтримуються в усіх переглядачах. Для перевірки їхньої підтримки у реалізації можна скористатись вимогою, згідно якої недозволені мовні позначення відхиляються з винятком 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"
Специфікації
Сумісність з веб-переглядачами
BCD tables only load in the browser