Date.toLocaleTimeString() — час у форматі локалі


Загальний опис

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

Якщо вам потрібно показати час на сайті для користувачів у різних країнах, ви можете використовувати цей метод для автоматичного адаптування часового формату відповідно до налаштувань користувача. Приклад:

let date = new Date();
let timeString = date.toLocaleTimeString('en-US');
console.log(timeString); // "12:00:00 AM" for en-US locale

У цьому прикладі, toLocaleTimeString() виводить час у форматі, прийнятому в Сполучених Штатах Америки.

Та необмежуйтеся лише веб-розробкою. Date.prototype.toLocaleTimeString() може бути використаний у будь-яких застосунках JavaScript, де потрібно форматувати час, наприклад, в Node.js або інших серверних або клієнтських сценаріях.

Особливість цього методу полягає в тому, що він дозволяє автоматизувати процес локалізації часу, звільняючи розробників від необхідності писати додатковий код для кожної локалі. Він також пропонує гнучкість, оскільки дозволяє передавати конкретні параметри локалі та опції форматування. Приклад:

let date = new Date();
let options = { hour: '2-digit', minute: '2-digit', second: '2-digit', timeZoneName: 'short' };
let timeString = date.toLocaleTimeString('en-GB', options);
console.log(timeString); // "00:00:00 GMT" for en-GB locale

У цьому прикладі метод використовується з додатковими опціями, які дозволяють відобразити час з секундами та абревіатурою часового поясу для Великобританії.

автор: Bond

Порада

Початківцям слід пам'ятати про важливість перевірки підтримки браузерів, оскільки не всі можуть підтримувати Date.prototype.toLocaleTimeString() або його параметри.

автор: Bond
Нотатка

Для більш досвідчених розробників, використання Date.prototype.toLocaleTimeString() може бути корисним для логування з подіями, коли потрібно вивести час події у локальному форматі, зручному для аналізу і читання, особливо, коли робиться спроба відлагодження коду в різних локальних умовах.

автор: Bond
Нотатка

Варто пам’ятати, що Date.prototype.toLocaleTimeString() може приймати додаткові параметри для точного визначення формату часу. Наприклад, можна встановити 24-годинний формат часу або вибрати конкретний стиль відображення.

let timeString = new Date().toLocaleTimeString('en-GB', {hour12: false, timeStyle: 'short'});
автор: Bond

Синтаксис

toLocaleTimeString()
toLocaleTimeString(locales)
toLocaleTimeString(locales, options)

Параметри

locales

Рядок з мовним тегом BCP 47 або масив таких рядків. Відповідає параметру locales конструктора Intl.DateTimeFormat().

Значення:

  • Рядок (наприклад, "en-US", "uk-UA").
  • Масив рядків (наприклад, ["en-US", "fr-FR"]).

У реалізаціях без підтримки Intl.DateTimeFormat, цей параметр ігнорується, і зазвичай використовується локаль хоста.

автор: Bond

options

Об'єкт з налаштуваннями формату виводу. Може містити ряд незобов'язкових властивостей, таких як:

  • dayPeriod: Формат відображення частини доби (наприклад, AM/PM).
  • hour: Формат відображення годин.
  • minute: Формат відображення хвилин.
  • second: Формат відображення секунд.
  • fractionalSecondDigits: Кількість знаків після коми для дробової частини секунди.

Якщо dayPeriod, hour, minute, second та fractionalSecondDigits всі не визначені, то hour, minute, second встановлюються як "numeric".

У реалізаціях без підтримки Intl.DateTimeFormat, цей параметр ігнорується.

автор: Bond

Повернення

string

Повертає рядок, який представляє частину часу даного екземпляру Date відповідно до конвенцій конкретної мови.

автор: Bond

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
1 1 1 5 12 5.5
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
4.4 18 4 1
Підтримка: серверні переглядачі
Переглядач Node.js Deno
0.10.0 1.0

Приклади

+ запропонувати свій приклад у пісочниці

У цьому прикладі ми створюємо новий об'єкт Date, що представляє поточний час і дату. Після цього використовуємо toLocaleTimeString() для виведення часу в різних локалях і форматах: за замовчуванням, у Великій Британії з 24-годинним форматом і у Сполучених Штатах з 12-годинним форматом.

// Створюємо новий об’єкт дати
let currentDate = new Date(); 

// Виводимо час у форматі за замовчуванням
console.log('Час за замовчуванням:', currentDate.toLocaleTimeString());

// Виводимо час у британській локації у 24-годинному форматі
console.log('Британський час:', currentDate.toLocaleTimeString('en-GB', { hour12: false }));

// Виводимо час у американській локації у 12-годинному форматі
console.log('Американський час:', currentDate.toLocaleTimeString('en-US', { hour12: true }));
автор: Bond

Цей приклад демонструє використання методу toLocaleTimeString() для відображення часу в різних локаціях, що вибирає користувач через dropdown. Користувач може взаємодіяти зі сторінкою, вибираючи потрібну локацію і бачити відформатований час у відповідності до вибраної локації.

HTML

<header>
  <h2 class="title">Date.prototype.toLocaleTimeString()</h2>
  <p class="description">Цей метод конвертує час з об’єкта Date у рядок, враховуючи локалізацію.</p>
</header>
<main>
  <div class="result">
    <label for="locale">Виберіть локацію: </label>
    <select id="locale">
      <option value="en-US">English (US)</option>
      <option value="uk-UA">Українська</option>
    </select>
    <p>Поточний час: <span id="time"></span></p>
    <button onclick="showTime()">Показати час</button>
  </div>
</main>

CSS

body {
  font-size: 16px;
  line-height: 1.5;
  font-family: monospace;
}

header {
  background-color: #f1f1f1;
  margin-bottom: 25px;
  padding: 15px;
  -webkit-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  -moz-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
}

header h2.title {
  padding-bottom: 15px;
  border-bottom: 1px solid #999;
}

header p.description {
  font-style: italic;
  color: #222;
}

.result {
  background-color: #f8f8f8;
  padding: 15px;
  -webkit-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  -moz-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
}

JS

function showTime() {
  // Знаходження обраної локації
  const locale = document.getElementById('locale').value;
  // Створення нового об’єкта дати
  const date = new Date();
  // Виведення часу в обраній локації
  document.getElementById('time').textContent = date.toLocaleTimeString(locale);
}
//# sourceURL=pen.js
автор: Bond

У другому прикладі Date.prototype.toLocaleTimeString() використовується для форматування часу в українській локації ('uk-UA') з різними стилями часу: 'short' для короткого формату і 'full' для повного формату. Це дозволяє вивести час так, як зручно користувачу, з урахуванням його переваг щодо деталізації інформації про час.

// Створюємо новий об’єкт дати
let currentDate = new Date(); 

// Виводимо короткий формат часу
console.log('Короткий формат:', currentDate.toLocaleTimeString('uk-UA', { timeStyle: 'short' }));

// Виводимо повний формат часу
console.log('Повний формат:', currentDate.toLocaleTimeString('uk-UA', { timeStyle: 'full' }));
автор: Bond

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле веде сходинками (розділ → тип → сторінка), а хибний ключ підкреслить хвилею.
[[!sandbox/S0oh1hBm]] Живий приклад окремим рядком — саме вікно результату. Той самий ключ зі знаком !: наберіть [[! і дійдіть сходинками до потрібної сторінки, список покаже її приклади.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Правка
Зворотний зв'язок
Вхід