- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 JavaScript 函数,可以确定工作日的下一个日期。除周日外,它全天都有效。
For Sunday:
Sun May 25 2014
Sun Jun 08 2014
Sun Jun 22 2014
For Saturday:
Sat May 24 2014
Sat May 31 2014
Sat Jun 07 2014
Sat Jun 14 2014
jsfiddle !
function getDatesByweekDay(weekday){
var startdate = new Date();
var date2 = new Date();
lastday = new Date(date2.setDate(date2.getDate() + 28 + weekday - date2.getDay()));
var dates = Array();
var x = 0;
do {
startdate = new Date(startdate.setDate(startdate.getDate() + 7 + weekday - startdate.getDay()));
console.log(startdate);
var date = new Date();
var curr_date = startdate.getDate();
var curr_month = startdate.getMonth() + 1;
var curr_year = startdate.getFullYear();
var formattedDate = curr_year + "-" + curr_month + "-" + curr_date;
dates[x] = formattedDate;
x++;
} while(lastday > startdate);
return dates;
}
getDatesByweekDay(6);
最佳答案
它不起作用的原因是您在每周 7 天的第 8 天去世。如果您传入 14-20 之间的数字,则返回日期之间会跳过两周而不是一周。
问题与您的 do...while
的第一行有关:
startdate = new Date(startdate.setDate(startdate.getDate() + 7 + weekday - startdate.getDay()));
您添加 7 使其提前 1 周,加上工作日,减去开始日期的星期几。如果您的 weekday
变量为 1 周或更长,则它会将其提前一周以上。由于它应该是 0 到 6 之间的数字,而您传入的是 7,因此您遇到了此错误。
您可以通过几种不同的方法来解决这个问题,但只需将输入weekday
规范化为 0-6 之间的数字即可解决该问题。在函数开头附近添加 weekday = weekday % 7;
。
关于JavaScript 日期,周日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23702448/
我有一个 JavaScript 函数,可以确定工作日的下一个日期。除周日外,它全天都有效。 For Sunday: Sun May 25 2014 Sun Jun 08 2014 Sun Jun 22
这段代码的作用是打印本周从星期一到星期五的日期。它工作得很好,但我想问点别的:如果今天是周六或周日,我希望它在下周显示。我该怎么做? 这是我目前的工作代码(感谢 StackOverflow!): //
我想找出两个日期(dateStart,dateEnd)之间的差异,仅适用于 MySql 查询中周一至周五的工作日。 这是我的查询,它比较两个日期并在一周或更长时间过去后给出结果: SELECT * F
我有一个代码可以在实际日期上加上 +1 天。 var date = '30 Apr 2010'; var actual_date = new Date(date); var final_date =
我试图显示生日在本周(周一至周日)内的所有用户。在到处搜索后,我得到了这个,但它也显示了上周和本周的用户。 SELECT * FROM teachers WHERE WEEK(birthday, 0)
因此,对于开始日期和结束日期,我想确定这两个日期之间一周中有多少天。 那么有多少个星期一、星期二等 我知道我可以通过在开始日期和结束日期之间循环并每天检查来做到这一点,但差异可能会很大。我更喜欢不需要
为了让我的 child 快乐,我一直在实现 Yellow Car Game PHP 语言用于长途汽车旅行。其中一个人会在我的手机上看到黄色汽车时添加这些汽车。计数器应该增加他们的每个分数,每个周日晚上
我是 matplotlib 的新手,正在尝试按工作日绘制一些数字。现在(见下图),我的 x 轴编号为 0 - 6,0 = 星期一,1 = 星期二等。如何更改 xaxis 代码标签,使其显示 Mon、T
我是一名优秀的程序员,十分优秀!