【问题标题】:How to get date range for current week? [closed]如何获取本周的日期范围? [关闭]
【发布时间】:2014-09-18 13:57:32
【问题描述】:

你好我想问一下,我如何在 Javascript 或 Javascript 库 Moment.js http://momentjs.com/docs/(我更喜欢这个库)中做到这一点:

Today is date (for example): 18-09-2014

我需要从给定日期获取实际一周的范围(从星期一到星期日),这意味着对于 给定日期我应该得到结果:

start: 15-09-2014
end: 21-09-2014 

有可能吗?我该怎么做?

感谢您的帮助。

【问题讨论】:

  • 你尝试了什么?如果你自己解决它,你就赢了。
  • 纯代码编写请求在 Stack Overflow 上是题外话——我们希望这里的问题与特定编程问题有关——但我们很乐意帮助您自己编写!告诉我们what you've tried,以及您遇到的问题。这也将有助于我们更好地回答您的问题。
  • 取给定的日期,创建一个新的日期,减去天数,这就是你的开始。添加 7 天即可结束。
  • 不使用momentjs时:codepen.io/Venugopal46/pen/WrxdLY

标签: javascript datetime momentjs date-range


【解决方案1】:

我猜:

moment().day(1); // Monday
moment().day(7); // Sunday

【讨论】:

    【解决方案2】:
    <script>
    Date.prototype.getWeek = function(start)
    {
            // the starting point
        start = start || 0;
        var today = new Date(this.setHours(0, 0, 0, 0));
        var day = today.getDay() - start;
        var date = today.getDate() - day;
    
            //  Start/End Dates
        var StartDate = new Date(today.setDate(date));
        var EndDate = new Date(today.setDate(date + 6));
        return [StartDate, EndDate];
    }
    
    // test code
    var Dates = new Date().getWeek();
    alert(Dates[0].toLocaleDateString() + ' to '+ Dates[1].toLocaleDateString())
    </script>
    

    【讨论】:

    • 如果结束日期应该在其他月份 - [2014 年 8 月 31 日,2014 年 8 月 6 日],此代码会产生不正确的 EndDate。
    猜你喜欢
    • 2014-09-17
    • 2022-01-23
    • 2021-12-31
    • 1970-01-01
    • 2021-06-22
    • 2023-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多