#javascript #dayjs
Вопрос:
Я только что переехал из moment.js чтобы day.js. Миграция была очень плавной, но day.js не предоставляет относительного времени в неделях. Что я делал в moment.js
// Round relative time evaluation down
moment.relativeTimeRounding(Math.floor);
moment.relativeTimeThreshold('s', 60);
moment.relativeTimeThreshold('m', 60);
moment.relativeTimeThreshold('h', 24);
moment.relativeTimeThreshold('d', 7);
moment.relativeTimeThreshold('w', 4);
moment.relativeTimeThreshold('M', 12);
Используя приведенную выше конфигурацию относительного времени, я получил желаемый результат, например 2 weeks ago
.
После миграции в day.js, теперь моя конфигурация
const thresholds = [
{ l: 's', r: 1 },
{ l: 'ss', r: 59, d: 'second' },
{ l: 'm', r: 1 },
{ l: 'mm', r: 59, d: 'minute' },
{ l: 'h', r: 1 },
{ l: 'hh', r: 23, d: 'hour' },
{ l: 'd', r: 1 },
{ l: 'dd', r: 6, d: 'day' },
{ l: 'w', r: 1},
{ l: 'ww', r: 4, d: 'week'},
{ l: 'M', r: 1 },
{ l: 'MM', r: 11, d: 'month' },
{ l: 'y', r: 1 },
{ l: 'yy', d: 'year' },
];
С приведенной выше конфигурацией в day.js Я получил следующую ошибку.
core.js?7d7a:4073 ERROR TypeError: v is not a function
at Object.n.fromToBase (VM15721 relativeTime.js:82)
at i (VM15721 relativeTime.js:32)
at M.n.from (VM15721 relativeTime.js:93)
at M.n.fromNow (VM15721 relativeTime.js:103)
Когда я удалю
{ l: 'w', r: 1},
{ l: 'ww', r: 4, d: 'week'},
и измените дневной порог на 30,
от day.js конфигурация, затем она работает нормально, и я получил вывод типа 13 days ago
.
Итак, мой вопрос в том, есть ли какой-либо обходной путь для получения выходных данных в неделях, а не в днях?
Комментарии:
1. Его называют days.js по какой-то причине 🙂