Temporal.PlainTime.prototype.since()
Базовая доступность Ограничена
Эта функция не является базовой, поскольку она не работает в некоторых из наиболее широко используемых браузеров.
Метод since() экземпляров Temporal.PlainTime возвращает новый объект Temporal.Duration, представляющий продолжительность от другого времени (в форме, преобразуемой с помощью Temporal.PlainTime.from()) до текущего времени. Продолжительность положительна, если другое время предшествует текущему времени, и отрицательна, если следует за ним.
Этот метод вычисляет this - other. Чтобы вычислить other - this, используйте метод until().
Синтаксис
since(other) since(other, options)
Параметры
-
other - Строка, объект или экземпляр
Temporal.PlainTime, представляющий время, которое нужно вычесть из текущего времени. Он преобразуется в объектTemporal.PlainTimeс использованием того же алгоритма, что иTemporal.PlainTime.from(). -
optionsНеобязательный - Объект, содержащий параметры для
Temporal.Duration.prototype.round(), который включаетlargestUnit,roundingIncrement,roundingModeиsmallestUnit.largestUnitиsmallestUnitпринимают только следующие единицы:"hours","minutes","seconds","milliseconds","microseconds","nanoseconds", или их формы единственного числа. ДляlargestUnitзначение по умолчанию"auto"означает"hours". ДляsmallestUnitзначение по умолчанию —"nanoseconds".
Возвращаемое значение
Новый объект Temporal.Duration, представляющий продолжительность с момента other до текущего времени. Продолжительность положительна, если other предшествует текущему времени, и отрицательна, если следует за ним.
Исключения
-
RangeError - Выбрасывается, если один из параметров недопустим.
Примеры
Использование since()
const lunchTime = Temporal.PlainTime.from("12:30:00");
const now = Temporal.Now.plainTimeISO();
const duration = now.since(lunchTime);
console.log(`You had lunch ${duration.toLocaleString("en-US")} ago`);
// Example output: "You had lunch 3 hr, 42 min, 21 sec, 343 ms, 131 μs, 718 ns ago"
const duration2 = now.since(lunchTime, { smallestUnit: "minutes" });
console.log(`You had lunch ${duration2.toLocaleString("en-US")} ago`);
// Example output: "You had lunch 3 hr, 42 min ago"
const duration3 = now.since(lunchTime, {
largestUnit: "minutes",
smallestUnit: "minutes",
});
console.log(`You had lunch ${duration3.toLocaleString("en-US")} ago`);
// Example output: "You had lunch 222 min ago"
Округление результата
По умолчанию дробная часть smallestUnit отсекается. Вы можете округлить ее, используя параметры roundingIncrement и roundingMode.
const time1 = Temporal.PlainTime.from("12:30:00");
const time2 = Temporal.PlainTime.from("12:30:01");
const duration = time2.since(time1, {
smallestUnit: "seconds",
roundingIncrement: 15,
roundingMode: "ceil",
});
console.log(duration.toString()); // "PT15S"
Спецификации
| Спецификация |
|---|
| Temporal # sec-temporal.plaintime.prototype.since |
Совместимость с браузерами
| Настольные | Мобильные | Сервер | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 | |
since |
144 |
144 |
139 |
128 |
preview |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
См. также
Temporal.PlainTimeTemporal.DurationTemporal.PlainTime.prototype.add()Temporal.PlainTime.prototype.subtract()Temporal.PlainTime.prototype.until()
© 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/PlainTime/since