首页 > 解决方案 > 使用 Javascript 和 Moment.js 获得几天

问题描述

我有这个代码来获取一周中的剩余天数:

const getWeekDates = () => {
    let weekDates = [];
    let remain = 7 - moment().day();
    for (let i = 0; i < remain; i++) {
        weekDates.push(moment().add(i, 'd'));
    }
    return weekDates;
};
console.log(getWeekDates());
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>

我的问题是:

标签: javascriptmomentjs

解决方案


采用

moment(jso).endOf('month').unix();

要获得月底,jso这里是日期参考。

为了得到下周的第一天和最后一天,这样的事情应该可以工作:

public static native String startOfNextWeek(JavaScriptObject today) /*-{
   return $wnd.moment(today).add(1,'weeks').startOf('week').unix();
}-*/;

public static native String endOfNextWeek(JavaScriptObject today) /*-{
   return $wnd.moment(today).add(1,'weeks').endOf('week').unix();
}-*/;

上面的代码使用了 GWT(一个 Java 到 JS 的转译器),但是这个想法应该很明显,首先获取今天的日期并从中添加 1 周,然后使用startOfandendOf方法来表示“星期”。


推荐阅读