Я наткнулся на стену, пытаясь выяснить, как преобразовать разницу между двумя датами в точную разбивку того, сколько лет, месяцев и дней прошло с даты начала. Формат, который я хочу показать: «1y 5mo 2d», учитывая два dateTimes, которые имеют эту разницу. Я попытался использовать Момент. js, и он хорошо работает для 'y' и 'mo', но я врезаюсь в стену, пытаясь понять, как точно определить количество дней.
export const convertDaysToYMD = (dates: {start, end})=>{
const start = Moment(dates.start)
const end = Moment(dates.end)
const y = end.diff(start, 'years')
const m = end.diff(start, 'months')
const d = end.diff(start, 'days')
console.log('y', y + ' m', m%12 + ' d', d)
}
Я могу точно узнать количество лет, а затем количество месяцев, используя mod (12), но из-за количества дней, меняющихся в месяце, я не совсем знаю, как получить число дней. Любая помощь будет великолепна.