我想通过momentjs从约会到现在 我尝试过fromNow()。方法返回值为字符串 它的单位变化取决于范围的长度。
答案 0 :(得分:6)
var m = moment("2014-01-01"); // or whatever start date you have
var today = moment().startOf('day');
var days = Math.round(moment.duration(today - m).asDays());
或者如果您愿意,可以简化最后一行:
var days = Math.round((today - m) / 86400000);
请注意,即使开始日期是在没有时间的情况下指定的(假设是午夜),由于夏令时因UTC偏移的潜在差异,仍需要进行舍入以获得整数。
答案 1 :(得分:0)
如果您仍想使用Moment获取“ X天前”或“ X天前”,则可以使用 moment.from(date)代替 moment.fromNow() ,然后删除所有时间概念。
https://momentjs.com/docs/#/displaying/from/
var today = new Date();
today.setHours(0, 0, 0, 0);
dateToCheck.setHours(0, 0, 0, 0)
moment(dateToCheck).from(today);
或单线
moment(dateToCheck.setHours(0, 0, 0, 0)).from(new Date().setHours(0, 0, 0, 0));
答案 2 :(得分:0)
const date1 = moment('06-11-2021')
const date2 = moment('06-12-2021')
const diff = date2.diff(date1, 'days')
console.log("diff: ", diff); // diff: 1