Constructor
new OzTime(timestamp, timezoneopt, localeopt)
- Description:
Создаёт новый экземпляр OzTime.
- Source:
Examples
import { OzTime } from '@alexstukovnikov/oz-time';
const time = OzTime.fromISO('2024-05-25T12:00:00Z', 'UTC', 'ru-RU');
console.log(time.toISOString()); // ожидаемый результат: 2024-05-25T12:00:00.000Z
import { OzTime } from '@alexstukovnikov/oz-time';
const result = OzTime
.fromISO('2024-05-25T12:00:00Z', 'UTC', 'ru-RU')
.add(1, 'day')
.add(2, 'hour')
.subtract(30, 'minute')
.setTimezone('Europe/Moscow')
.format('DD.MM.YYYY HH:mm:ss');
console.log(result);
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
timestamp |
number | Unix timestamp в миллисекундах. |
||
timezone |
TimezoneString |
<optional> |
'UTC'
|
Часовой пояс в формате IANA. |
locale |
LocaleString |
<optional> |
'en-US'
|
Локаль, используемая для форматирования. |
Throws:
-
Выбрасывается, если timestamp, timezone или locale некорректны.
- Type
- TypeError
Methods
add(amount, unit) → {OzTime}
- Description:
Возвращает новый экземпляр OzTime, у которого timestamp увеличен на указанное количество единиц времени.
Исходный экземпляр не изменяется.
- Source:
Example
import { OzTime } from '@alexstukovnikov/oz-time';
const nextDay = OzTime
.fromISO('2024-05-25T12:00:00Z')
.add(1, 'day');
console.log(nextDay.toISOString()); // ожидаемый результат: 2024-05-26T12:00:00.000Z
Parameters:
| Name | Type | Description |
|---|---|---|
amount |
number | Количество единиц времени. |
unit |
TimeUnit | string | Единица времени. |
Returns:
Новый экземпляр OzTime с timestamp, сдвинутым вперёд.
- Type
- OzTime
diff(other, unitopt) → {number}
- Description:
Вычисляет разницу между текущим значением и другим временем.
- Source:
Example
import { OzTime } from '@alexstukovnikov/oz-time';
const start = OzTime.fromISO('2024-05-25T12:00:00Z');
const end = start.add(2, 'hour');
console.log(end.diff(start, 'hour')); // ожидаемый результат: 2
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
other |
OzTime | Второе значение для сравнения. |
||
unit |
TimeUnit | string |
<optional> |
'millisecond'
|
Единица измерения разницы. |
Returns:
Разница между двумя значениями.
- Type
- number
format(template, localeopt) → {string}
- Description:
Форматирует текущее значение времени по заданному шаблону.
- Source:
Example
import { OzTime } from '@alexstukovnikov/oz-time';
const value = OzTime.fromISO('2024-05-25T12:00:00Z', 'UTC', 'ru-RU');
console.log(value.format('DD.MM.YYYY HH:mm')); // ожидаемый результат: 25.05.2024 12:00
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
template |
string | Строка шаблона форматирования. |
|
locale |
LocaleString |
<optional> |
Локаль, которая временно переопределяет локаль экземпляра. |
Returns:
Отформатированная строка.
- Type
- string
getLocale() → {LocaleString}
- Description:
Возвращает текущую локаль экземпляра.
- Source:
Example
import { OzTime } from '@alexstukovnikov/oz-time';
const time = OzTime.fromISO('2024-05-25T12:00:00Z', 'UTC', 'ru-RU');
console.log(time.getLocale()); // ожидаемый результат: ru-RU
Returns:
Строка локали.
- Type
- LocaleString
getTimestamp() → {number}
- Description:
Возвращает внутренний Unix timestamp экземпляра в миллисекундах.
- Source:
Example
import { OzTime } from '@alexstukovnikov/oz-time';
const time = OzTime.fromISO('2024-05-25T12:00:00Z', 'UTC', 'ru-RU');
console.log(time.getTimestamp()); // ожидаемый результат: 1716638400000
Returns:
Unix timestamp в миллисекундах.
- Type
- number
getTimezone() → {TimezoneString}
- Description:
Возвращает текущий часовой пояс экземпляра.
- Source:
Example
import { OzTime } from '@alexstukovnikov/oz-time';
const time = OzTime.fromISO('2024-05-25T12:00:00Z', 'Europe/Moscow', 'ru-RU');
console.log(time.getTimezone()); // ожидаемый результат: Europe/Moscow
Returns:
Идентификатор часового пояса.
- Type
- TimezoneString
getTimezoneOffset() → {number}
- Description:
Возвращает смещение текущего часового пояса относительно UTC в минутах.
- Source:
Example
import { OzTime } from '@alexstukovnikov/oz-time';
const time = OzTime.fromISO('2024-05-25T12:00:00Z', 'Europe/Moscow', 'ru-RU');
console.log(time.getTimezoneOffset()); // ожидаемый результат: 180
Returns:
Смещение в минутах.
- Type
- number
isAfter(other, unitopt) → {boolean}
- Description:
Проверяет, находится ли текущее значение позже другого времени.
- Source:
Example
import { OzTime } from '@alexstukovnikov/oz-time';
const a = OzTime.fromISO('2024-05-26T12:00:00Z');
const b = OzTime.fromISO('2024-05-25T12:00:00Z');
console.log(a.isAfter(b)); // ожидаемый результат: true
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
other |
OzTime | Второе значение для сравнения. |
||
unit |
TimeUnit | string |
<optional> |
'millisecond'
|
Точность сравнения. |
Returns:
true, если текущее значение больше.
- Type
- boolean
isBefore(other, unitopt) → {boolean}
- Description:
Проверяет, находится ли текущее значение раньше другого времени.
- Source:
Example
import { OzTime } from '@alexstukovnikov/oz-time';
const a = OzTime.fromISO('2024-05-25T12:00:00Z');
const b = a.add(1, 'day');
console.log(a.isBefore(b)); // ожидаемый результат: true
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
other |
OzTime | Второе значение для сравнения. |
||
unit |
TimeUnit | string |
<optional> |
'millisecond'
|
Точность сравнения. |
Returns:
true, если текущее значение меньше.
- Type
- boolean
isBetween(start, end, unitopt, inclusivityopt) → {boolean}
- Description:
Проверяет, попадает ли текущее значение в диапазон между двумя датами.
- Source:
Example
import { OzTime } from '@alexstukovnikov/oz-time';
const current = OzTime.fromISO('2024-05-25T12:00:00Z');
const start = current.subtract(1, 'day');
const end = current.add(1, 'day');
console.log(current.isBetween(start, end)); // ожидаемый результат: true
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
start |
OzTime | Левая граница диапазона. |
||
end |
OzTime | Правая граница диапазона. |
||
unit |
TimeUnit | string |
<optional> |
'millisecond'
|
Точность сравнения. |
inclusivity |
Inclusivity |
<optional> |
'[]'
|
Формат включённости границ. |
Returns:
true, если значение находится внутри диапазона.
- Type
- boolean
isSame(other, unitopt) → {boolean}
- Description:
Проверяет, совпадает ли текущее значение с другим временем на заданной точности.
- Source:
Example
import { OzTime } from '@alexstukovnikov/oz-time';
const a = OzTime.fromISO('2024-05-25T12:00:00.100Z');
const b = OzTime.fromISO('2024-05-25T12:00:00.900Z');
console.log(a.isSame(b, 'second')); // ожидаемый результат: true
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
other |
OzTime | Второе значение для сравнения. |
||
unit |
TimeUnit | string |
<optional> |
'millisecond'
|
Точность сравнения. |
Returns:
true, если значения совпадают.
- Type
- boolean
setTimezone(timezone) → {OzTime}
- Description:
Возвращает новый экземпляр с тем же timestamp, но другим часовым поясом.
- Source:
Example
import { OzTime } from '@alexstukovnikov/oz-time';
const moscowTime = OzTime
.fromISO('2024-05-25T12:00:00Z', 'UTC', 'ru-RU')
.setTimezone('Europe/Moscow');
console.log(moscowTime.getTimezone()); // ожидаемый результат: Europe/Moscow
Parameters:
| Name | Type | Description |
|---|---|---|
timezone |
TimezoneString | Новый часовой пояс. |
Returns:
Новый экземпляр с обновлённым часовым поясом.
- Type
- OzTime
subtract(amount, unit) → {OzTime}
- Description:
Возвращает новый экземпляр OzTime, у которого timestamp уменьшен на указанное количество единиц времени.
Исходный экземпляр не изменяется.
- Source:
Example
import { OzTime } from '@alexstukovnikov/oz-time';
const prevHour = OzTime
.fromISO('2024-05-25T12:00:00Z')
.subtract(1, 'hour');
console.log(prevHour.toISOString()); // ожидаемый результат: 2024-05-25T11:00:00.000Z
Parameters:
| Name | Type | Description |
|---|---|---|
amount |
number | Количество единиц времени. |
unit |
TimeUnit | string | Единица времени. |
Returns:
Новый экземпляр OzTime с timestamp, сдвинутым назад.
- Type
- OzTime
toISOString() → {string}
- Description:
Преобразует текущее значение времени в строку формата ISO 8601.
- Source:
Example
import { OzTime } from '@alexstukovnikov/oz-time';
const time = OzTime.fromComponents(2024, 5, 25, 12, 0, 0, 0, 'UTC', 'ru-RU');
console.log(time.toISOString()); // ожидаемый результат: 2024-05-25T12:00:00.000Z
Returns:
Строковое представление даты и времени в формате ISO 8601.
- Type
- string
toTimestamp() → {number}
- Description:
Возвращает внутренний Unix timestamp экземпляра в миллисекундах.
- Source:
Example
import { OzTime } from '@alexstukovnikov/oz-time';
const time = OzTime.fromISO('2024-05-25T12:00:00Z', 'UTC', 'ru-RU');
console.log(time.toTimestamp()); // ожидаемый результат: 1716638400000
Returns:
Unix timestamp в миллисекундах.
- Type
- number
(static) duration(amount, unit) → {Duration}
- Description:
Создаёт новую длительность из фиксированной единицы времени.
- Source:
Example
import { OzTime } from '@alexstukovnikov/oz-time';
const value = OzTime.duration(2, 'hour');
console.log(value.asMinutes()); // ожидаемый результат: 120
Parameters:
| Name | Type | Description |
|---|---|---|
amount |
number | Количество единиц времени. |
unit |
TimeUnit | string | Единица времени. |
Returns:
Экземпляр длительности.
- Type
- Duration
(static) fromComponents(year, month, day, houropt, minuteopt, secondopt, msopt, timezoneopt, localeopt) → {OzTime}
- Description:
Создаёт экземпляр OzTime из отдельных компонентов даты и времени.
- Source:
Example
import { OzTime } from '@alexstukovnikov/oz-time';
const time = OzTime.fromComponents(2024, 5, 25, 12, 0, 0, 0, 'UTC', 'ru-RU');
console.log(time.toISOString()); // ожидаемый результат: 2024-05-25T12:00:00.000Z
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
year |
number | Год. |
||
month |
number | Месяц от 1 до 12. |
||
day |
number | День месяца. |
||
hour |
number |
<optional> |
0
|
Час от 0 до 23. |
minute |
number |
<optional> |
0
|
Минута от 0 до 59. |
second |
number |
<optional> |
0
|
Секунда от 0 до 59. |
ms |
number |
<optional> |
0
|
Миллисекунда от 0 до 999. |
timezone |
TimezoneString |
<optional> |
'UTC'
|
Часовой пояс в формате IANA. |
locale |
LocaleString |
<optional> |
'en-US'
|
Локаль форматирования. |
Returns:
Экземпляр времени.
- Type
- OzTime
(static) fromDate(date, timezoneopt, localeopt) → {OzTime}
- Description:
Создаёт экземпляр OzTime из объекта Date.
- Source:
Example
import { OzTime } from '@alexstukovnikov/oz-time';
const time = OzTime.fromDate(new Date('2024-05-25T12:00:00Z'), 'UTC', 'ru-RU');
console.log(time.toTimestamp()); // ожидаемый результат: 1716638400000
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
date |
Date | Нативный объект Date. |
||
timezone |
TimezoneString |
<optional> |
'UTC'
|
Часовой пояс в формате IANA. |
locale |
LocaleString |
<optional> |
'en-US'
|
Локаль форматирования. |
Returns:
Экземпляр времени.
- Type
- OzTime
(static) fromISO(isoString, timezoneopt, localeopt) → {OzTime}
- Description:
Создаёт экземпляр OzTime из ISO-строки.
- Source:
Example
import { OzTime } from '@alexstukovnikov/oz-time';
const time = OzTime.fromISO('2024-05-25T12:00:00Z', 'UTC', 'ru-RU');
console.log(time.format('DD.MM.YYYY HH:mm')); // ожидаемый результат: 25.05.2024 12:00
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
isoString |
string | Строка даты и времени в формате ISO 8601. |
||
timezone |
TimezoneString |
<optional> |
'UTC'
|
Часовой пояс в формате IANA. |
locale |
LocaleString |
<optional> |
'en-US'
|
Локаль форматирования. |
Returns:
Экземпляр времени.
- Type
- OzTime
(static) fromTimestamp(timestamp, timezoneopt, localeopt) → {OzTime}
- Description:
Создаёт экземпляр OzTime из Unix timestamp в миллисекундах.
- Source:
Example
import { OzTime } from '@alexstukovnikov/oz-time';
const time = OzTime.fromTimestamp(1716638400000, 'UTC', 'ru-RU');
console.log(time.toISOString()); // ожидаемый результат: 2024-05-25T12:00:00.000Z
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
timestamp |
number | Unix timestamp в миллисекундах. |
||
timezone |
TimezoneString |
<optional> |
'UTC'
|
Часовой пояс в формате IANA. |
locale |
LocaleString |
<optional> |
'en-US'
|
Локаль форматирования. |
Returns:
Экземпляр времени.
- Type
- OzTime
(static) interval(start, end) → {Interval}
- Description:
Создаёт новый интервал между двумя значениями OzTime.
- Source:
Example
import { OzTime } from '@alexstukovnikov/oz-time';
const start = OzTime.fromISO('2024-05-25T10:00:00Z');
const end = OzTime.fromISO('2024-05-25T12:00:00Z');
const range = OzTime.interval(start, end);
console.log(range.duration('hour')); // ожидаемый результат: 2
Parameters:
| Name | Type | Description |
|---|---|---|
start |
OzTime | Начало интервала. |
end |
OzTime | Конец интервала. |
Returns:
Экземпляр интервала.
- Type
- Interval
(static) now(timezoneopt, localeopt) → {OzTime}
- Description:
Создаёт экземпляр OzTime для текущего момента времени.
- Source:
Example
import { OzTime } from '@alexstukovnikov/oz-time';
const current = OzTime.now('Europe/Moscow', 'ru-RU');
console.log(current.getTimezone()); // ожидаемый результат: Europe/Moscow
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
timezone |
TimezoneString |
<optional> |
'UTC'
|
Часовой пояс в формате IANA. |
locale |
LocaleString |
<optional> |
'en-US'
|
Локаль форматирования. |
Returns:
Экземпляр с текущим временем.
- Type
- OzTime