Javascript 在Moment.js中获取日期、小时和分钟
这是我第一次使用Moment.js,我遇到了以下问题,所以我有以下日期:Javascript 在Moment.js中获取日期、小时和分钟,javascript,momentjs,Javascript,Momentjs,这是我第一次使用Moment.js,我遇到了以下问题,所以我有以下日期: now: 2017-01-26T14:21:22+0000 expiration: 2017-01-29T17:24:22+0000 我想得到的是: Day: 3 Hours: 3 Mins: 3 我尝试了以下代码: const now = moment(); const exp = moment(expire_date); console.log(expire_date); days = exp.diff(now,
now: 2017-01-26T14:21:22+0000
expiration: 2017-01-29T17:24:22+0000
我想得到的是:
Day: 3
Hours: 3
Mins: 3
我尝试了以下代码:
const now = moment();
const exp = moment(expire_date);
console.log(expire_date);
days = exp.diff(now, 'days');
hours = exp.diff(now, 'hours') - (days * 24);
minutes = exp.diff(now, 'minutes') - ((days * 1440) + (hours * 24) * 60);
我知道我做错了什么(可能是我的计算或我使用了错误的方法),但我不知道是什么 这将为您提供正确的值,并消除手动计算的麻烦
let expiration=“2017-01-29T17:24:22+0000”
const now=力矩();
常数exp=时刻(到期);
console.log(exp.format());
天=经验差(现在称为“天”);
小时=经验减去(天,'天').diff(现在是“小时”);
分钟=经验减去(小时,'hours').diff(现在是'minutes');
console.log(天、小时、分钟)
MomentJS可以为您计算所有这些,而无需您进行任何逻辑运算
- 首先找出这两个时刻之间的差异
- 将其表示为持续时间
- 然后显示所需持续时间的任何组件
,.days()
.hours()
.asDays()
,.asHours()
等
const now=时刻(“2017-01-26T14:21:22+0000”);
常数到期=时刻(“2017-01-29T17:24:22+0000”);
//获得时刻之间的差异
const diff=到期日.diff(现在);
//表示为持续时间
const diff duration=力矩持续时间(diff);
//展示
log(“天:,diffDuration.Days());
log(“Hours:,diffDuration.Hours());
log(“分钟:,diffDuration.Minutes())代码>
有关更多信息,请查看文档
var now=moment()
var exp=moment().add(1,'days')
var days=exp.diff(现在是“days”)
var月数=exp.diff(现在为“月数”)
var years=exp.diff(现在是'years',true)//浮点数
console.log(现在、以后、天、月、年)
试试我的解决方案。我想是这样的:
var now = moment("2017-01-26T14:21:22+0000");
var expiration = moment("2017-01-29T17:24:22+0000");
var minsAverage = expiration.diff(now, "minutes");
var min = parseInt(minsAverage % 60);
var hours = parseInt(minsAverage / 60);
var days = parseInt(hours / 24);
hours = hours - 24*days;
如果间隔大于一个月,此解决方案将不会显示正确的天数。将其用于天:console.log(“天:”,expiration.diff(现在是“天”)代码>