utils/calendar

Календарные утилиты для работы с датами, високосными годами и разницей между значениями времени.

Description:
  • Календарные утилиты для работы с датами, високосными годами и разницей между значениями времени.

Source:

Methods

(static) addByCalendarUnit(timestamp, amount, unit) → {number}

Description:
  • Возвращает новый timestamp, увеличенный на указанное количество календарных единиц времени.

    Поддерживаются только month и year.

Source:
Example
import { addByCalendarUnit } from './utils/calendar.js';

console.log(addByCalendarUnit(Date.UTC(2024, 0, 31, 0, 0, 0, 0), 1, 'month')); // ожидаемый результат: 1709164800000
Parameters:
Name Type Description
timestamp number

Unix timestamp в миллисекундах.

amount number

Количество единиц времени.

unit string

Календарная единица времени.

Throws:
  • Выбрасывается, если timestamp или amount некорректны.

    Type
    TypeError
  • Выбрасывается, если unit не поддерживается.

    Type
    Error
Returns:

Новый Unix timestamp в миллисекундах.

Type
number

(static) addByFixedUnit(timestamp, amount, unit) → {number}

Description:
  • Возвращает новый timestamp, увеличенный на указанное количество фиксированных единиц времени.

Source:
Example
import { addByFixedUnit } from './utils/calendar.js';

console.log(addByFixedUnit(1716638400000, 1, 'day')); // ожидаемый результат: 1716724800000
Parameters:
Name Type Description
timestamp number

Unix timestamp в миллисекундах.

amount number

Количество единиц времени.

unit string

Фиксированная единица времени.

Throws:
  • Выбрасывается, если timestamp или amount некорректны.

    Type
    TypeError
  • Выбрасывается, если unit не является фиксированной единицей.

    Type
    Error
Returns:

Новый Unix timestamp в миллисекундах.

Type
number

(static) daysInMonth(year, month) → {number}

Description:
  • Возвращает количество дней в указанном месяце указанного года.

Source:
Example
import { daysInMonth } from '@alexstukovnikov/oz-time';

console.log(daysInMonth(2024, 2)); // ожидаемый результат: 29
Parameters:
Name Type Description
year number

Год.

month number

Месяц от 1 до 12.

Throws:
  • Выбрасывается, если year или month не являются целыми числами.

    Type
    TypeError
  • Выбрасывается, если month вне диапазона от 1 до 12.

    Type
    RangeError
Returns:

Количество дней в месяце.

Type
number

(static) diff(left, right, unitopt) → {number}

Description:
  • Возвращает числовую разницу между двумя экземплярами OzTime в указанной единице времени.

    Для фиксированных единиц может возвращать дробное число, для месяцев и лет возвращает целочисленную календарную разницу.

Source:
Example
import { diff } from './utils/calendar.js';
import { fromISO } from '@alexstukovnikov/oz-time';

const a = fromISO('2024-05-25T14:00:00Z');
const b = fromISO('2024-05-25T12:00:00Z');
console.log(diff(a, b, 'hour')); // ожидаемый результат: 2
Parameters:
Name Type Attributes Default Description
left OzTime

Левое значение.

right OzTime

Правое значение.

unit string <optional>
'millisecond'

Единица времени.

Throws:
  • Выбрасывается, если хотя бы один аргумент не является экземпляром OzTime.

    Type
    TypeError
  • Выбрасывается, если unit не поддерживается.

    Type
    Error
Returns:

Разница между двумя значениями времени.

Type
number

(static) isLeapYear(year) → {boolean}

Description:
  • Проверяет, является ли год високосным по григорианскому календарю.

Source:
Example
import { isLeapYear } from '@alexstukovnikov/oz-time';

console.log(isLeapYear(2024)); // ожидаемый результат: true
Parameters:
Name Type Description
year number

Год.

Throws:

Выбрасывается, если year не является целым числом.

Type
TypeError
Returns:

true, если год високосный.

Type
boolean