我使用moment.js,我有3个不同的日期,例如
- 30.07.2018
- 12.06.2018
- 10.05.2018
我现在尝试获得从这些日期到今天(如果小于7天前)或到今天(如果大于7天前)的周数的天数差异,并将其放置在几个跨度中。
更新感谢托马斯!
我得到了:
$(document).ready(function(){
$('.timestamp').html((index, html) => {
let date = moment(html, "DD.MM.YYYY HH:mm", true),
now = moment(),
days = Math.floor(Math.abs(date - now) / 86400000),
weeks = Math.floor(days/7),
result = date.format("DD.MM.YYYY") + " - ";
if(weeks){
result += weeks + (weeks===1? " week ": " weeks ");
days = days % 7;
}
if(days || weeks===0){
result += days + (days === 1? " day": " days");
}
return result;
});
});
我还需要什么:
- 不显示初始日期,只显示
"3 Days"
。如果它删除“结果”,我想再工作了。 - 未显示
"7 weeks 2 days"
,应仅显示"7 weeks"
下面是实际的fiddle。
3条答案
按热度按时间70gysomp1#
你可以使用momentjs**
diff()
方法**来完成这个任务,它可以根据你传递给它的选项,返回days
,weeks
,months
,hours
,minutes
,...中两个dates
之间的差值。这是应该如何是你的代码:
演示:
x一个一个一个一个x一个一个二个x
htrmnn0y2#
Moment.js具有fromNow()函数,可返回当前日期/时间的“x天”或“x小时前”。
68bkxrlz3#