Я пытаюсь получить moment.js, чтобы показать мне время до определенной даты. Я сделал это:MomentJs получает «время до» с двумя переменными
let date = 2017-03-27T12:00:00;
moment().to(date);
Это показывает: «in 10 days
».
Мне очень хотелось бы показать «in 10 days and 2 hours
» или два самых высоких значения. Например, 1 year and 5 months
, 4 minutes and 30 seconds
.
Есть ли простой способ сделать это? В настоящее время я работаю над сложным методом обработки ...
let years = moment(date).local().diff(moment(), 'years');
let months = (moment(date).local().diff(moment(), 'months'));
let days = (moment(date).local().diff(moment(), 'days'));
let hours = (moment(date).local().diff(moment(), 'hours'));
let minutes = (moment(date).local().diff(moment(), 'minutes'));
let seconds = (moment(date).local().diff(moment(), 'seconds'));
//The above values return total number each,
//For example, this could show 1 year, 14 months, 435 days, etc.
//The math below is supposed to make this say
//1 year, 2 months, 14 days, etc.
let yearsRemain = years;
let monthsRemain = months - (years *12);
let daysRemain = days - (Math.floor(months * 30));
let hoursRemain = hours - (days * 24);
let minutesRemain = minutes - (hours * 60);
let secondsRemain = seconds - (minutes * 60);
var dateArray = [
yearsRemain,
monthsRemain,
daysRemain,
hoursRemain,
minutesRemain,
secondsRemain
]
console.log(dateArray);
/*
returns [1, 1, 3, 23, 16, 46] for example
*/
проблема с этим, когда дело доходит до дней. Поскольку дни в году и дни в месяц меняются, я надеялся, что момент. Js поможет мне. Есть ли лучший способ сделать это?
В конце концов, я смогу выполнить итерацию по массиву и найти два самых больших значения для отображения, как мне хотелось бы.
Спасибо, я технически работаю в ионной 2 с машинописным текстом. Как только я узнаю, как импортировать формат времени в проект, я попробую это. Спасибо! – ntgCleaner
Ваш первый блок кода работает как шарм. Вы заставили меня понять, что я должен работать от 1 продолжительности, а не нескольких. Спасибо! – ntgCleaner