如何检查javascript日期是否从指定的一周以前
How to check if javascript date is from a specified week ago?
我想做一个函数,可以检查一个给定的日期是否在一个指定的星期前。
例如,如果输入是<1, date object>
,那么它会询问给定的日期是否来自上周。如果输入是<2, date object>
,那么它会询问给定的日期是否来自2周前,等等。(0为当前周)。
星期是太阳-星期六。
this.isOnSpecifiedWeekAgo = function(weeks_ago, inputDate) {
return false;
};
但是我不想使用任何库,而且我不确定如何更改日期对象的星期。有人知道怎么开始吗?
谢谢
如果你想找出一个星期前的日期,你可以简单地从当前日期减去7天:
var weekAgo = new Date();
weekAgo.setDate(weekAgo.getDate() - 7);
console.log(weekAgo.toLocaleString());
如果你想知道某个日期是否在特定的星期,你需要:
- 计算出当周的开始日期
- 计算出该星期的结束日期
- 查看日期是否在开始或之后,在结束或之前
由于你的星期是星期日到星期六,你可以得到一周的第一天:
var weekStart = new Date();
weekStart.setDate(weekStart.getDate() - weekStart.getDay());
console.log(weekStart.toLocaleString());
时间应该归零,然后为7天后创建一个新的日期。那将是下一个星期天开始的午夜,也就是下一个星期六结束的午夜。所以一个函数可能看起来像:
function wasWeeksAgo(weeksAgo, date) {
// Create a date
var weekStart = new Date();
// Set time to 00:00:00
weekStart.setHours(0,0,0,0);
// Set to previous Sunday
weekStart.setDate(weekStart.getDate() - weekStart.getDay());
// Set to Sunday on weeksAgo
weekStart.setDate(weekStart.getDate() - 7*weeksAgo)
// Create date for following Saturday at 24:00:00
var weekEnd = new Date(+weekStart);
weekEnd.setDate(weekEnd.getDate() + 7);
// See if date is in that week
return date >= weekStart && date <= weekEnd;
}
// Test if dates in week before today (1 Nov 2016)
// 1 Oct 24 Oct
[new Date(2016,9,1), new Date(2016,9,24)].forEach(function(date) {
console.log(date.toLocaleString() + ' ' + wasWeeksAgo(1, date));
});
使用moment.js http://momentjs.com/docs/#/manipulating/subtract/
我们经常使用它,它是一个很棒的库。
相关文章:
- 使用Booklet Jquery插件,我如何验证最后一页是否显示
- 如何在javascript中获取一年中的周数,其中周日是一周中的第一天
- MomentJS代码不会开始新的一周
- 制作Easing Slider Start横幅取决于一周中的哪一天
- dc.js和crossfilter降低了一周中每天的平均计数
- 如何使用AngularJS$locale选择一周的第一天
- Momentjs 一周的第一天
- 给定特定日期(日/月/年)返回一周的开始 + 结束
- HTML5 Intl API 的一周的第一天
- JS日期选择器能够:时间,日期,日期时间,星期几,一年中的一周,一年中的月份等
- 时刻.js错误,同时在一年的最后一周添加 1 周
- 我使用以下代码检查新周是否与已创建的周匹配,然后显示警报
- 如何获取两个选定月份日期之间的一周的特定日期
- 从星期一开始一周,使用 isoWeekday()
- 使用 JavaScript 获取给定的日期年份、周数、一周内的日数
- Jquery/Javascript 允许在一周中的特定时间使用特定网页
- 如何在 JavaScript 中将一周中的所有日期放入数组中
- 使用当前日期生成一周的所有日期,并在周一显示周开始日期,在周日显示周末
- 如何使用jquery/javascript检查当前时间是否在一周中的特定范围内
- 如何检查javascript日期是否从指定的一周以前