繁体   English   中英

JavaScript-获取星期几的日期(每天)

[英]JavaScript - Get the Date of the next Day of the Week (For each day)

我已经制作了一个在线日历,我想在星期几旁边添加日期。 例如,它将说Monday (6/18) 我当前的代码运行良好,但是从星期一开始获取当前星期几。 这意味着,由于今天是星期三,它将显示两天前的日期,而不是下一个星期一,这是预期的效果。

当前代码:

var today = new Date();
var mon = new Date(today.getFullYear(), today.getMonth(), today.getDate() - today.getDay()+1);
var tue = new Date(today.getFullYear(), today.getMonth(), today.getDate() - today.getDay()+2);
var wed = new Date(today.getFullYear(), today.getMonth(), today.getDate() - today.getDay()+3);
var thu = new Date(today.getFullYear(), today.getMonth(), today.getDate() - today.getDay()+4);
var fri = new Date(today.getFullYear(), today.getMonth(), today.getDate() - today.getDay()+5);
var sat = new Date(today.getFullYear(), today.getMonth(), today.getDate() - today.getDay()+6);
var sun = new Date(today.getFullYear(), today.getMonth(), today.getDate() - today.getDay()+7);

$(".mon").html("Monday (" + (mon.getMonth() + 1) + "/" + mon.getDate() + ")");
$(".tue").html("Tuesday (" + (tue.getMonth() + 1) + "/" + tue.getDate() + ")");
$(".wed").html("Wednesday (" + (wed.getMonth() + 1) + "/" + wed.getDate() + ")");
$(".thu").html("Thursday (" + (thu.getMonth() + 1) + "/" + thu.getDate() + ")");
$(".fri").html("Friday (" + (fri.getMonth() + 1) + "/" + fri.getDate() + ")");
$(".sat").html("Saturday (" + (sat.getMonth() + 1) + "/" + sat.getDate() + ")");
$(".sun").html("Sunday (" + (sun.getMonth() + 1) + "/" + sun.getDate() + ")");

先感谢您!

这是一个例子:

从今天到接下来的6天。

 var arr = []; var today = new Date(); for(var i=0;i<7;i++){ var date = new Date(today.getFullYear(), today.getMonth(), today.getDate()+i); arr[date.getDay()] = date; } $(".mon").html("Monday (" + (arr[1].getMonth() + 1) + "/" + arr[1].getDate() + ")"); $(".tue").html("Tuesday (" + (arr[2].getMonth() + 1) + "/" + arr[2].getDate() + ")"); $(".wed").html("Wednesday (" + (arr[3].getMonth() + 1) + "/" + arr[3].getDate() + ")"); $(".thu").html("Thursday (" + (arr[4].getMonth() + 1) + "/" + arr[4].getDate() + ")"); $(".fri").html("Friday (" + (arr[5].getMonth() + 1) + "/" + arr[5].getDate() + ")"); $(".sat").html("Saturday (" + (arr[6].getMonth() + 1) + "/" + arr[6].getDate() + ")"); $(".sun").html("Sunday (" + (arr[0].getMonth() + 1) + "/" + arr[0].getDate() + ")"); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <span class="mon"></span><br/> <span class="tue"></span><br/> <span class="wed"></span><br/> <span class="thu"></span><br/> <span class="fri"></span><br/> <span class="sat"></span><br/> <span class="sun"></span><br/> 

这是带有getNextDay函数的另一个示例,该函数获取给定日期的一周的第二天:

 var arr = []; var today = new Date(); for(var i=0;i<7;i++){ arr[i] = getNextDay(today, i); } function getNextDay(date, day){ var difference = day - date.getDay(); if(difference < 0) difference += 7; return new Date(date.getFullYear(), date.getMonth(), date.getDate() + difference); } $(".mon").html("Monday (" + (arr[1].getMonth() + 1) + "/" + arr[1].getDate() + ")"); $(".tue").html("Tuesday (" + (arr[2].getMonth() + 1) + "/" + arr[2].getDate() + ")"); $(".wed").html("Wednesday (" + (arr[3].getMonth() + 1) + "/" + arr[3].getDate() + ")"); $(".thu").html("Thursday (" + (arr[4].getMonth() + 1) + "/" + arr[4].getDate() + ")"); $(".fri").html("Friday (" + (arr[5].getMonth() + 1) + "/" + arr[5].getDate() + ")"); $(".sat").html("Saturday (" + (arr[6].getMonth() + 1) + "/" + arr[6].getDate() + ")"); $(".sun").html("Sunday (" + (arr[0].getMonth() + 1) + "/" + arr[0].getDate() + ")"); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <span class="mon"></span><br/> <span class="tue"></span><br/> <span class="wed"></span><br/> <span class="thu"></span><br/> <span class="fri"></span><br/> <span class="sat"></span><br/> <span class="sun"></span><br/> 

如果要查看下周的值,为什么不将所有值都增加7,即

 var mon = new Date(today.getFullYear(), today.getMonth(), today.getDate() - today.getDay()+8); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM