Javascript MomentJs get";时间到“;有两个变量

Javascript MomentJs get";时间到“;有两个变量,javascript,momentjs,Javascript,Momentjs,我正试图让moment.js告诉我具体日期之前的时间。我已经这样做了: let date = 2017-03-27T12:00:00; moment().to(date); 这显示:“在10天内”” 我真的希望它显示“在10天和2小时内””或两个最高值。例如,1年5个月,4分30秒 有没有一个简单的方法可以做到这一点?我目前正在研究一种复杂的方法来处理这个 let years = moment(date).local().diff(moment(), 'years'); let months

我正试图让moment.js告诉我具体日期之前的时间。我已经这样做了:

let date = 2017-03-27T12:00:00;
moment().to(date);
这显示:“
在10天内”

我真的希望它显示“
在10天和2小时内”
”或两个最高值。例如,
1年5个月
4分30秒

有没有一个简单的方法可以做到这一点?我目前正在研究一种复杂的方法来处理这个

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能帮我解决这个问题。有更好的方法吗

最终,我将能够遍历数组并找到两个最大的值来显示我想要的结果

您可以使用来计算
dateArray
值。持续时间有、、个getter

这里有一个活生生的例子:

let date='2017-03-27T12:00:00';
var dur=时刻.持续时间(时刻(日期).diff(时刻());
让yearsRemain=dur.years();
让月数=月数();
let daysRemain=dur.days();
让小时保持=持续小时();
让分钟保持=持续分钟();
设secondsRemain=dur.seconds();
变量日期数组=[
年月日,
剩下的几个月,
daysRemain,
还有几个小时,
还有几分钟,
二等兵
]
log(日期数组)
您可以使用来计算
dateArray
值。持续时间有、、个getter

这里有一个活生生的例子:

let date='2017-03-27T12:00:00';
var dur=时刻.持续时间(时刻(日期).diff(时刻());
让yearsRemain=dur.years();
让月数=月数();
let daysRemain=dur.days();
让小时保持=持续小时();
让分钟保持=持续分钟();
设secondsRemain=dur.seconds();
变量日期数组=[
年月日,
剩下的几个月,
daysRemain,
还有几个小时,
还有几分钟,
二等兵
]
log(日期数组)

谢谢,我现在正使用typescript在爱奥尼亚2中工作。一旦我找到了如何将“时刻持续时间”格式导入到我的项目中,我将尝试这个方法。非常感谢。你的第一段代码就像一个符咒。你让我意识到我应该只工作一段时间,而不是几段时间。非常感谢。谢谢,从技术上讲,我正在使用typescript在ionic 2中工作。一旦我找到了如何将“时刻持续时间”格式导入到我的项目中,我将尝试这个方法。非常感谢。你的第一段代码就像一个符咒。你让我意识到我应该只工作一段时间,而不是几段时间。非常感谢。