使用moment.js的日期格式“ D-#”或“ D +#”

时间:2019-09-19 07:45:40

标签: javascript momentjs

我想以D-7D+2之类的格式显示日期

我想用moment.js实现它。

我已经从moment.js文档中找到了一些参考,但是它们并不准确。

moment(expireAt).fromNow(); 
// it returns "in 7 days" but I want to see "D+7"

有什么简单的方法可以实现我的目标?

1 个答案:

答案 0 :(得分:3)

假设72,则可以使用diff,也许可以使用duration

例如:

function daysDiff(from, to) {
    const duration = moment.duration(to.diff(from));
    const diff = duration.as("days");
    return "D" + (diff < 0 ? String(diff) : "+" + diff);
}

console.log(daysDiff(
    moment("2019-09-01"),
    moment("2019-09-08")
));

console.log(daysDiff(
    moment("2019-09-03"),
    moment("2019-09-01")
));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>