简体   繁体   English

如何在JavaScript中获取从星期一到星期日开始的上周日期

[英]How can I get last week date starting monday to sunday in javascript

I want a javascript function that gives me start_date as the last week monday date and end_date as last week sunday date. 我想要一个JavaScript函数,将start_date设置为上周的星期一,将end_date设置为上周的星期日。 So for example, today is 03/09/2016, so I want start_date = 02/29/2016 end_date = 03/06/2016 例如,今天是03/09/2016,所以我要start_date = 02/29/2016 end_date = 03/06/2016

so far I have wriiten the code as 到目前为止,我已经把代码写成

        function GetLastWeekDate(){
        start_date = new Date();
        start_date.setHours(0,0,0,0);
        end_date = new Date();
        var date=null;
        var curr = date ? new Date(date) : new Date();
        var first = curr.getDate() - curr.getDay("monday"),
             last  = first + 6;

         start_date.setDate( first );
         end_date. setDate( last );
         }


(function() {
     var original = Date.prototype.getDay;
    var daysOfWeek = {
    sunday: 0,
    monday: 1,
    tuesday: 2,
    wednesday: 3,
    thursday: 4,
    friday: 5,
    saturday: 6,
    };

     Date.prototype.getDay = function(weekBegins) {
      weekBegins = (weekBegins || "sunday").toLowerCase();
        return (original.apply(this) + 7 - daysOfWeek[weekBegins]) % 7;
      };
    })();

but its giving me date as 但它给我日期

    03/07/2016 and 03/13/2016

how do I fix this to get the dates I want? 如何解决这个问题以获得我想要的日期?

If you have a lot of date handling to do, I can only strongly suggest that you use the moment.js library. 如果您要处理大量的日期,我只能强烈建议您使用moment.js库。

In this case, the dates would be : 在这种情况下,日期为:

var startDate = moment().subtract(1, 'week').startOf('week');
var endDate = moment().subtract(1, 'week').endOf('week');

Here you can see it in action : 在这里您可以看到它的作用:

 document.addEventListener('DOMContentLoaded', function() { document.getElementById("fromDate").textContent = moment().subtract(1, "week").startOf("week"); document.getElementById("toDate").textContent = moment().subtract(1, "week").endOf("week"); }); 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.15.2/moment.min.js"></script> <html> <body> <p>From : <span id="fromDate"></span></p> <p>To : <span id="toDate"></span></p> </body> </html> 

If in case you just want plain js solution w/out any external libraries. 如果万一你只想要普通的js解决方案而没有任何外部库。 You can try this instead. 您可以试试看。

var dateNow = new Date();
var firstDayOfTheWeek = (dateNow.getDate() - dateNow.getDay()) + 1; // Remove + 1 if sunday is first day of the week.
var lastDayOfTheWeek = firstDayOfTheWeek + 6;
var firstDayOfLastWeek = new Date(dateNow.setDate(firstDayOfTheWeek - 7));
var lastDayOfLastWeek = new Date(dateNow.setDate(lastDayOfTheWeek - 7));

In the above solution, firstDataOfLastWeek will be previous week Monday, and lastDayOfLastWeek will be previous week Sunday. 在上述解决方案中,firstDataOfLastWeek将在星期一的前一周,而lastDayOfLastWeek将在星期日的前一周。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 我如何获得本周一和周日之间的日期AngularJS - How I can get the date this week between Monday and Sunday AngularJS Javascript:获取前一周的周一和周日 - Javascript: get Monday and Sunday of the previous week 如何根据纯 Javascript 中的区域设置确定一周是从星期一还是星期日开始? - How can I determine if week starts on Monday or Sunday based on locale in pure Javascript? 如何在javascript中从当前日期起7天创建一个星期几的数组(即0表示星期日,1表示星期一等)? - How to create an array of numbers of the days of the week (i.e. 0 for sunday, 1 for monday, etc.) 7 days from current date in javascript? 使用当前日期生成一周的所有日期,还显示星期一的星期开始日期和星期日的周末 - Generate all dates of a week using current date also show week starting date on Monday and weekends on Sunday 在 Javascript 中获取周一开始和周日结束的一周开始和结束 - Get start and end of week with the start on Monday and end on Sunday in Javascript 请问如何在javascript中让工作日从星期一而不是星期日开始? - How to make the week days start at monday instead of sunday in javascript please? 获取本周的开始日期和结束日期(每周从星期一开始,以星期日结束) - Get start date and end date of current week (week start from monday and end with sunday ) 获取上周日期范围从星期日到星期六时刻 js - Get Last week date range from sunday to saturday moment js 从星期天开始获取星期几 - Get week number with week starting from sunday
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM