Spec-Zone.ru › JavaScript

Temporal.ZonedDateTime.prototype.offsetNanoseconds

Базовый уровень Ограниченная доступность

Эта функция не является базовой, поскольку она не работает в некоторых наиболее широко используемых браузерах.

Свойство доступа offsetNanoseconds экземпляров Temporal.ZonedDateTime возвращает целое число, представляющее смещение, используемое для интерпретации внутреннего момента времени, в виде количества наносекунд (положительного или отрицательного). Значение является безопасным целым числом, поскольку оно меньше суток, что составляет 8,64e15 наносекунд.

Сеттер-аксессор offsetNanoseconds является undefined. Вы не можете изменить это свойство напрямую. Используйте метод with() для создания нового объекта Temporal.ZonedDateTime с желаемым новым значением offset (что также изменит это свойство) или используйте метод withTimeZone() для создания нового объекта Temporal.ZonedDateTime в другом часовом поясе.

Примеры

Использование offsetNanoseconds

const dt = Temporal.ZonedDateTime.from(
  "2021-07-01T12:00:00-07:00[America/Los_Angeles]",
);
console.log(dt.offsetNanoseconds); // -25200000000000

const dt2 = Temporal.ZonedDateTime.from(
  "2021-07-01T12:00:00+08:00[Asia/Shanghai]",
);
console.log(dt2.offsetNanoseconds); // 28800000000000

const dt3 = Temporal.ZonedDateTime.from(
  "1900-01-01T00:00:00+00:09:21[Europe/Paris]",
);
console.log(dt3.offsetNanoseconds); // 561000000000

Вот один из способов получить ZonedDateTime, представляющий то же самое время по настенным часам в UTC:

const dt = Temporal.ZonedDateTime.from(
  "2021-07-01T12:00:00-07:00[America/Los_Angeles]",
);
const dtInUTC = dt.add({ nanoseconds: dt.offsetNanoseconds });
console.log(dtInUTC.withTimeZone("UTC").toString()); // "2021-07-01T12:00:00+00:00[UTC]"

Вот лучший способ получить тот же результат:

const dt = Temporal.ZonedDateTime.from(
  "2021-07-01T12:00:00-07:00[America/Los_Angeles]",
);
const dtInUTC = dt.toPlainDateTime().toZonedDateTime("UTC");
console.log(dtInUTC.toString()); // "2021-07-01T12:00:00+00:00[UTC]"

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

Спецификация
Temporal
# sec-get-temporal.zoneddatetime.prototype.offsetnanoseconds

Совместимость с браузерами

Настольные Мобильные Серверные
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet WebView Android WebView on iOS Bun Deno Node.js
offsetNanoseconds
144
144
139
128
preview
144
139
95
Нет
Нет
144
Нет
1.4.0
2.7
26.0.0

Смотрите также

  • Temporal.ZonedDateTime
  • Temporal.ZonedDateTime.prototype.with()
  • Temporal.ZonedDateTime.prototype.withTimeZone()
  • Temporal.ZonedDateTime.prototype.offset
  • Temporal.ZonedDateTime.prototype.timeZoneId

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal/ZonedDateTime/offsetNanoseconds

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API