我怎样才能在 javascript 中获取从周一到周日的上周日期
How can I get last week date starting monday to sunday in javascript
我想要一个javascript函数,它给我start_date作为上周星期一日期,end_date为上周星期日日期。例如,今天是 03/09/2016,所以我想要start_date = 02/29/2016end_date = 03/06/2016
到目前为止,我已经将代码编写为
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;
};
})();
但它给我的日期是
03/07/2016 and 03/13/2016
如何解决此问题以获取所需的日期?
如果你有很多日期处理要做,我只能强烈建议你利用这个时刻.js库。
在这种情况下,日期将是:
var startDate = moment().subtract(1, 'week').startOf('week');
var endDate = moment().subtract(1, 'week').endOf('week');
在这里你可以看到它的实际效果:
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>
如果您只想要没有任何外部库的普通 js 解决方案。您可以改为尝试此操作。
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));
在上述解决方案中,firstDataOfLastWeek将是前一周的星期一,而Last DayOfLastWeek将是前一周的星期日。
相关文章:
- 如何在javascript中获取两个日期之间的周六和周日的日期
- 如何将日期转换为周名
- 如何在javascript中获取一年中的周数,其中周日是一周中的第一天
- 如何使用yyyymmdd格式在日期中添加n天,但排除周日
- momentjs获取目标日期的周天数
- 在Jquery或Javascript中获取两个范围或日期之间的通信周数
- 以周为单位计算日期差异(Javascript)
- JS-按周分组的月份日期
- 如何在javascript中根据周数、工作日和年份获取日期
- 将javascript时钟的日期偏移2周
- 如何放置日期范围从周选择器用于两个文本输入
- 我怎样才能在 javascript 中获取从周一到周日的上周日期
- 如何从开始日期中的单独字段添加天数/周,以在日期选择器中获取结束日期
- 检查日期是否大于一个月的第一个周结束日期
- 通过选择从开始日期算起的周数或月数来自动结束日期
- 给定特定日期(日/月/年)返回一周的开始 + 结束
- 从周视图中获取日期 单击标题
- 如何根据当前日期显示两周期间的第一天
- 使用当前日期生成一周的所有日期,并在周一显示周开始日期,在周日显示周末
- 在javascript中使用当前日期获取两周日期