简体   繁体   English

获取当前周

[英]Get current week

So i used momentjs to handle my date formats and get the current week.所以我使用momentjs来处理我的日期格式并获取当前周。

But my question is how do i get it to start from monday to sunday .但我的问题是如何让它从星期一开始到星期日

getweek.js获取周.js

function getCurrentWeek() {
  var currentDate = moment();

  var weekStart = currentDate.clone().startOf('week');
  var weekEnd = currentDate.clone().endOf('week');

  var days = [];

  for (var i = 0; i <= 6; i++) {
    days.push(moment(weekStart).add(i, 'days').format("MMMM Do,dddd"));
  }
  console.log($scope.weekDays = days);
}

result结果

{0:"November 5th,Sunday"
1:"November 6th,Monday"
2:"November 7th,Tuesday"
3:"November 8th,Wednesday"
4:"November 9th,Thursday"
5:"November 10th,Friday"
6:"November 11th,Saturday"}

expected result预期结果

{0:"November 6th,Monday"
1:"November 7th,Tuesday"
2:"November 8th,Wednesday"
3:"November 9th,Thursday"
4:"November 10th,Friday"
5:"November 11th,Saturday"
6:"November 12th,Sunday"}

Thanks.谢谢。

You can use startOf('isoWeek') to start the week at Monday.您可以使用startOf('isoWeek')从星期一开始一周。

var weekStart = currentDate.clone().startOf('isoWeek');

 function getCurrentWeek() { var currentDate = moment(); var weekStart = currentDate.clone().startOf('isoWeek'); var weekEnd = currentDate.clone().endOf('isoWeek'); var days = []; for (var i = 0; i <= 6; i++) { days.push(moment(weekStart).add(i, 'days').format("MMMM Do,dddd")); } console.log(days); } getCurrentWeek();
 <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.19.1/moment.min.js"></script>

Use 'isoweek' instead of 'week'使用'isoweek'而不是'week'

var currentDate = moment();

var weekStart = currentDate.clone().startOf('isoweek');

var days = [];

for (var i = 0; i <= 6; i++) {
    console.log(moment(weekStart).add(i, 'days').format("MMMM Do,dddd"));
}

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM