用javascript获取一周中的前几天和下几天
我有一段代码,可以得到当前日期,然后还可以得到一周中的几天。 有时这个代码不起作用,例如,今天是08/15,我会得到08/13。 我还需要一个函数来获取一周中的前几天和下几天用javascript获取一周中的前几天和下几天,javascript,jquery,Javascript,Jquery,我有一段代码,可以得到当前日期,然后还可以得到一周中的几天。 有时这个代码不起作用,例如,今天是08/15,我会得到08/13。 我还需要一个函数来获取一周中的前几天和下几天 var self = this; var curr = new Date; self.mult = 0; self.firstDate = new Date; self.lastDate = new Date; var first = curr.getDate() - (curr.getDay()-
var self = this;
var curr = new Date;
self.mult = 0;
self.firstDate = new Date;
self.lastDate = new Date;
var first = curr.getDate() - (curr.getDay()-1);
var last = first + 6;
self.firstDate(Utils.dateFormat(new Date(curr.setDate(first)),"%Y-%m-%d", true));
self.lastDate(Utils.dateFormat(new Date(curr.setDate(last)),"%Y-%m-%d", true));
这是查看一周前几天的功能
var self= this;
var curr = new Date;
self.mult(self.mult()-7);
var first = curr.getDate() - (curr.getDay()-1) + self.mult();
var last = first + 5;
if(self.mult() <= 0){
last = last + 1;
}
self.firstDate(Utils.dateFormat(new Date(curr.setDate(first)),"%Y-%m-%d", true));
self.lastDate(Utils.dateFormat(new Date(curr.setDate(last)),"%Y-%m-%d", true));
var self= this;
var curr = new Date;
self.mult(self.mult()+7);
var first = curr.getDate() - (curr.getDay()-1) + self.mult();
var last = first + 5;
self.firstDate(Utils.dateFormat(new Date(curr.setDate(first)),"%Y-%m-%d", true));
self.lastDate(Utils.dateFormat(new Date(curr.setDate(last)),"%Y-%m-%d", true));
我不确定,但我认为这周的前几天才是问题所在
下面是一个示例情况
情景1:
用户访问一个页面,今天是09/15
那么第一个日期必须是09/12,最后一个日期必须是09/18
用户单击“下一步”,则第一个日期必须是09/19,最后一个日期必须是09/25
用户再次单击“下一步”,第一个日期是09/26,最后一个日期是10/02
用户单击“上一步”,则第一个日期必须是09/19,最后一个日期必须是09/25
情景2:
用户访问一个页面,今天是09/15
那么第一个日期必须是09/12,最后一个日期必须是09/18
用户单击“上一步”,则第一个日期必须为09/5,最后一个日期为09/11
用户再次单击“上一步”,则第一个日期必须是08/29,最后一个日期必须是09/4
用户单击“下一步”,则第一个日期必须是09/5,最后一个日期必须是09/11
有人能回答一个可以做我的场景的代码吗 您可以使用setDate()
例如:
var a = new Date();
console.log(a)
//Thu Sep 15 2016 10:22:25 GMT+0200 (CEST)
a.setDate(a.getDate()+1);
console.log(a)
//Fri Sep 16 2016 10:22:25 GMT+0200 (CEST)
我建议对这样的任务使用库。例如,moment.js 从现在开始的一周
moment(new Date()).startOf('isoWeek').format('MMMM Do YYYY, h:mm:ss ')
moment(new Date()).endOf('isoWeek').format('MMMM Do YYYY, h:mm:ss ')
从现在开始的一周结束
moment(new Date()).startOf('isoWeek').format('MMMM Do YYYY, h:mm:ss ')
moment(new Date()).endOf('isoWeek').format('MMMM Do YYYY, h:mm:ss ')
有关更多详细信息,请参阅:
为什么要将
this
放入变量self
?@evolutionxbox当“this”在$中被上下文更改时,保留“this”是一种标准方法。每个循环,this
是循环内的值,而self
仍然是循环外的this
。这里没有什么意义,但考虑到缩进,我想为了简洁起见,还有其他代码没有包括在内。@freedomn-m谢谢。我已经知道你说了什么。只是OP无缘无故地使用它。但是我如何才能得到一周的第一天(周一)和最后一天(周日)?