/
keorlov
/
collsim
Обзор
Документация
Войти
/
keorlov
/
collsim
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
frontend/node_modules/d3-time/src/year.js
49 строк
1 KB
Konstantin Orlov
wip
13 июл 2026, 09:01
13 июл 2026, 09:01
15b66bc
Код
Авторство
О чём код?
import {timeInterval} from "./interval.js"; export const timeYear = timeInterval((date) => { date.setMonth(0, 1); date.setHours(0, 0, 0, 0); }, (date, step) => { date.setFullYear(date.getFullYear() + step); }, (start, end) => { return end.getFullYear() - start.getFullYear(); }, (date) => { return date.getFullYear(); }); // An optimized implementation for this simple case. timeYear.every = (k) => { return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : timeInterval((date) => { date.setFullYear(Math.floor(date.getFullYear() / k) * k); date.setMonth(0, 1); date.setHours(0, 0, 0, 0); }, (date, step) => { date.setFullYear(date.getFullYear() + step * k); }); }; export const timeYears = timeYear.range; export const utcYear = timeInterval((date) => { date.setUTCMonth(0, 1); date.setUTCHours(0, 0, 0, 0); }, (date, step) => { date.setUTCFullYear(date.getUTCFullYear() + step); }, (start, end) => { return end.getUTCFullYear() - start.getUTCFullYear(); }, (date) => { return date.getUTCFullYear(); }); // An optimized implementation for this simple case. utcYear.every = (k) => { return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : timeInterval((date) => { date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k); date.setUTCMonth(0, 1); date.setUTCHours(0, 0, 0, 0); }, (date, step) => { date.setUTCFullYear(date.getUTCFullYear() + step * k); }); }; export const utcYears = utcYear.range;