JavaScript объект Temporal.Now

Определение и применение

Temporal.Now — объект с методами получения текущего времени системы: точного момента, часового пояса, местной даты и времени. Как и Math, он не вызывается и не создаётся через new.

Поддержка браузерами

Спецификация: proposal-temporal

Нет поддержки: Safari iOS, Samsung Android, WebView iOS.

Отдельные значения (6) поддерживаются не везде — смотрите таблицу.

Показать браузеры
Совместимостьjavascript.builtins.Temporal.Now
ВозможностьКомпьютерыМобильные
ChromeEdgeFirefoxOperaSafariChrome AndroidFirefox for AndroidOpera AndroidSafari on iOSSamsung BrowserWebView AndroidWebView on iOS
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 синтаксис

JavaScript
Temporal.Now.instant();
Temporal.Now.zonedDateTimeISO(timeZone);

Методы с суффиксом ISO возвращают значения в календаре ISO 8601. Необязательный параметр timeZone по умолчанию равен часовому поясу системы.

Спецификация

ECMAScript: Temporal.Now.

Свойства Temporal.Now

Свойства Temporal.Now
СвойствоОписание
Temporal.Now[Symbol.toStringTag]Строка "Temporal.Now"; её выводит Object.prototype.toString().

Методы Temporal.Now

Методы 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
HTML
<p>Результат выполнения выводится в консоль.</p>
main.js
JavaScript
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.