JavaScript Moment.js 尝试获取 2 个日期时间之间的差异
JavaScript Moment.js trying to get the difference between 2 datetimes
我试图找出 2 个日期时间戳之间的区别,它们看起来像这些:
2018-08-22 00:00:00
2018-08-11 15:34:31
我想以天-小时-分钟-秒为单位显示时间差。
到目前为止我这样做了,但它总是 return NaN:
import moment from 'moment';
const calc = {
render () {
moment().format();
this.calcDifference();
},
calcDifference() {
let releaseDate = document.getElementById('release-at').value;
let currentDate = document.getElementById('current-date').value;
let ms = moment(
releaseDate,
"DD-MM-YYYY HH:mm:ss").diff(moment(currentDate,
"DD-MM-YYYY HH:mm:ss")
);
let d = moment.duration(ms);
let s = Math.floor(d.asHours()) + moment.utc(ms).format(":mm:ss");
console.log(ms);
console.log(d);
console.log(s);
}
};
calc.render();
在你的 calcDifference
函数上,你可以做这样的事情
let releaseDate = moment('2018-09-22 00:00:00');
let currentDate = moment('2018-08-11 15:34:31');
const diff = releaseDate.diff(currentDate);
const diffDuration = moment.duration(diff);
console.log(`
${diffDuration.months()} months
${diffDuration.days()} days
${diffDuration.hours()} hours
${diffDuration.minutes()} minutes
${diffDuration.seconds()} seconds left!`);
如果来自 release-at 和 current-date 元素的值具有格式
DD-MM-YYYY HH:mm:ss
,使用
let releaseDate = moment(document.getElementById('release-at').value, 'DD-MM-YYYY HH:mm:ss');
let currentDate = moment(document.getElementById('current-date').value, 'DD-MM-YYYY HH:mm:ss');
这是一个有效的 codepen
希望对您有所帮助! :)
我试图找出 2 个日期时间戳之间的区别,它们看起来像这些:
2018-08-22 00:00:00
2018-08-11 15:34:31
我想以天-小时-分钟-秒为单位显示时间差。
到目前为止我这样做了,但它总是 return NaN:
import moment from 'moment';
const calc = {
render () {
moment().format();
this.calcDifference();
},
calcDifference() {
let releaseDate = document.getElementById('release-at').value;
let currentDate = document.getElementById('current-date').value;
let ms = moment(
releaseDate,
"DD-MM-YYYY HH:mm:ss").diff(moment(currentDate,
"DD-MM-YYYY HH:mm:ss")
);
let d = moment.duration(ms);
let s = Math.floor(d.asHours()) + moment.utc(ms).format(":mm:ss");
console.log(ms);
console.log(d);
console.log(s);
}
};
calc.render();
在你的 calcDifference
函数上,你可以做这样的事情
let releaseDate = moment('2018-09-22 00:00:00');
let currentDate = moment('2018-08-11 15:34:31');
const diff = releaseDate.diff(currentDate);
const diffDuration = moment.duration(diff);
console.log(`
${diffDuration.months()} months
${diffDuration.days()} days
${diffDuration.hours()} hours
${diffDuration.minutes()} minutes
${diffDuration.seconds()} seconds left!`);
如果来自 release-at 和 current-date 元素的值具有格式
DD-MM-YYYY HH:mm:ss
,使用
let releaseDate = moment(document.getElementById('release-at').value, 'DD-MM-YYYY HH:mm:ss');
let currentDate = moment(document.getElementById('current-date').value, 'DD-MM-YYYY HH:mm:ss');
这是一个有效的 codepen
希望对您有所帮助! :)