javascript - 当日期处于不同月份时,如何获取本周的第一天和最后一天?

标签 javascript date dayofweek

例如,在 03/27/2016 到 04/02/2016 的情况下,日期属于不同的月份。

var curr = new Date; // get current date
var first = curr.getDate() - curr.getDay();
var last = first + 6; // last day is the first day + 6

var firstday = new Date(curr.setDate(first)).toUTCString();
var lastday = new Date(curr.setDate(last)).toUTCString();

最佳答案

getDay 方法返回一周中的第几天,其中星期日为 0,星期六为 6。因此,如果您的一周从星期日开始,只需从当前日期作为开始日期,添加 6 天作为结束日期,例如

function getStartOfWeek(date) {
  
  // Copy date if provided, or use current date if not
  date = date? new Date(+date) : new Date();
  date.setHours(0,0,0,0);
  
  // Set date to previous Sunday
  date.setDate(date.getDate() - date.getDay());
  
  return date;
}

function getEndOfWeek(date) {
  date = getStartOfWeek(date);
  date.setDate(date.getDate() + 6);
  return date; 
}
  
document.write(getStartOfWeek());

document.write('<br>' + getEndOfWeek())

document.write('<br>' + getStartOfWeek(new Date(2016,2,27)))

document.write('<br>' + getEndOfWeek(new Date(2016,2,27)))

关于javascript - 当日期处于不同月份时,如何获取本周的第一天和最后一天?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36292726/

相关文章:

javascript - 注入(inject)的脚本无法声明变量

javascript - 了解表单中使用的语言

python - 分桶日期并检查是否在 Pandas 的日期范围之间

javascript - 如何在节点js中获取日期中的日期名称

PHP/MySQL - 显示一年中所有星期一的日期列表

MySQL DAYOFWEEK() 反过来?

javascript - 设置/清除间隔问题

javascript - Node.js 和 Express 上使用 Angular 进行客户端路由

php - 从 PHP 到 PHPMYADMIN 的 DOB 集合

c# - 将工作日缩写字符串(包括范围)转换为 List<DayOfWeek>