JavaScript объект Temporal.Now
Определение и применение
Temporal.Now — объект с методами получения текущего времени системы: точного момента, часового пояса, местной даты и времени. Как и Math, он не вызывается и не создаётся через new.
Поддержка браузерами
Спецификация: proposal-temporal
Нет поддержки: Safari iOS, Samsung Android, WebView iOS.
Отдельные значения (6) поддерживаются не везде — смотрите таблицу.
| Возможность | Компьютеры | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
Now | 144 | 144 | 139 | 128 | preview | 144 | 139 | 95 | 144 | |||
instant | 144 | 144 | 139 | 128 | preview | 144 | 139 | 95 | 144 | |||
plainDateISO | 144 | 144 | 139 | 128 | preview | 144 | 139 | 95 | 144 | |||
plainDateTimeISO | 144 | 144 | 139 | 128 | preview | 144 | 139 | 95 | 144 | |||
plainTimeISO | 144 | 144 | 139 | 128 | preview | 144 | 139 | 95 | 144 | |||
timeZoneId | 144 | 144 | 139 | 128 | preview | 144 | 139 | 95 | 144 | |||
zonedDateTimeISO | 144 | 144 | 139 | 128 | preview | 144 | 139 | 95 | 144 | |||
поддерживаетсяс ограниченияминет поддержкинет данных≤31 — не позднее версии 31
JavaScript синтаксис
Temporal.Now.instant();
Temporal.Now.zonedDateTimeISO(timeZone);Методы с суффиксом ISO возвращают значения в календаре ISO 8601. Необязательный параметр timeZone по умолчанию равен часовому поясу системы.
Спецификация
Свойства Temporal.Now
| Свойство | Описание |
|---|---|
Temporal.Now[Symbol.toStringTag] | Строка "Temporal.Now"; её выводит Object.prototype.toString(). |
Методы Temporal.Now
| Метод | Описание |
|---|---|
Temporal.Now.instant() | Текущий момент как Instant. |
Temporal.Now.timeZoneId() | Идентификатор часового пояса системы, например "Europe/Moscow". |
Temporal.Now.zonedDateTimeISO(timeZone) | Текущие дата и время как ZonedDateTime. |
Temporal.Now.plainDateTimeISO(timeZone) | Текущие местные дата и время как PlainDateTime. |
Temporal.Now.plainDateISO(timeZone) | Текущая местная дата как PlainDate. |
Temporal.Now.plainTimeISO(timeZone) | Текущее местное время как PlainTime. |
Результат зависит от часов и часового пояса системы, поэтому в тестах передавайте время явно. Браузер может снижать точность текущего момента для защиты от отслеживания.
Примеры, попробуйте сами
Текущее время в разных типах
Запустите пример несколько раз. Замените Asia/Tokyo другим часовым поясом и сравните местное время.
index.html
<p>Результат выполнения выводится в консоль.</p>
main.js
if (typeof Temporal === 'undefined') {
console.log('Этот браузер пока не поддерживает Temporal.')
} else {
const zone = Temporal.Now.timeZoneId()
console.log('Часовой пояс системы:', zone)
console.log('Момент UTC:', Temporal.Now.instant().toString({ smallestUnit: 'second' }))
console.log('Здесь:', Temporal.Now.zonedDateTimeISO().toString({ smallestUnit: 'second' }))
console.log('В Токио:', Temporal.Now.plainDateTimeISO('Asia/Tokyo').toString({ smallestUnit: 'minute' }))
console.log('Сегодня:', Temporal.Now.plainDateISO().toString())
console.log('Время:', Temporal.Now.plainTimeISO().toString({ smallestUnit: 'minute' }))
}
Параметр smallestUnit метода toString() убирает лишние доли секунды.
Связанные материалы
См. также обзор Temporal, объект Date и документацию Temporal.Now.