javascript - 在 Moment.js 中获取日期、小时和分钟

标签 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, 'days');
hours = exp.diff(now, 'hours') - (days * 24);
minutes = exp.diff(now, 'minutes') - ((days * 1440) + (hours * 24) * 60);

我知道我做错了什么(也许是我的计算或者我使用了错误的方法),但我不知道它是什么。

最佳答案

MomentJS 可以为您计算所有这些,而无需您执行任何逻辑。

  • 首先找出两个时刻之间的差异
  • 将其表示为持续时间
  • 然后显示您想要的持续时间的 .days().hours() 组成部分。

注意:如果需要,您还可以表示整个持续时间 .asDays().asHours() 等。

const now = moment("2017-01-26T14:21:22+0000");
const expiration = moment("2017-01-29T17:24:22+0000");

// get the difference between the moments
const diff = expiration.diff(now);

//express as a duration
const diffDuration = moment.duration(diff);

// display
console.log("Days:", diffDuration.days());
console.log("Hours:", diffDuration.hours());
console.log("Minutes:", diffDuration.minutes());
<script src="https://momentjs.com/downloads/moment.js"></script>

关于javascript - 在 Moment.js 中获取日期、小时和分钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41875679/

相关文章:

javascript - momentjs 两个 GMT 日期之间的天数差异

javascript - 如何使用 moment.js 格式化 YouTube API 视频的持续时间

javascript - 如何使用 moment.js 将 ISO 日期/时间转换为本地日期/时间?接收奇数输出

javascript - 如何绘制一个低不透明度的 rgba 圆,其中心恰好位于给定的 X 和 Y 尺寸

javascript - 请求动画帧 : what exactly is the timestamp?

javascript - 如何在 Moment.js 中按值添加时间?

javascript - 如何将选定的时间值转换为正确的时间?

javascript - 在 Canvas 上显示node.js输出变量

javascript - 如何在按下退出键时关闭图像?

Javascript 执行 if 和 else