我想让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
*/
这个问题是当涉及到天。由于一年中的日子和一个月中的日子不同,我希望moment.js能帮助我。有没有更好的方法来做到这一点?
最终,我将能够遍历数组并找到两个最大的值来显示我想要的。
谢谢你,我在技术上工作在离子2与打字稿。一旦我找到了如何将时间间隔格式导入到我的项目中,我会尝试一下。谢谢! – ntgCleaner
你的第一块代码就像一个魅力。你让我意识到我应该在1个持续时间内工作,而不是几个。谢谢! – ntgCleaner