【发布时间】:2016-02-20 21:42:44
【问题描述】:
如何查看当前日期,如果它在星期六下午 5 点之前,则显示即将到来的星期三。但是,如果它在下午 5 点之后,那么在 javascript 中显示下一周的星期三?
【问题讨论】:
标签: javascript date
如何查看当前日期,如果它在星期六下午 5 点之前,则显示即将到来的星期三。但是,如果它在下午 5 点之后,那么在 javascript 中显示下一周的星期三?
【问题讨论】:
标签: javascript date
应该这样做(未经测试):
var date = new Date();
var hours = date.getHours();
var day = date.getDay();
var yourdate = new Date();
if(day==6 && hours >=17)
{
yourdate.setDate(date.getDate() + 11);
}
else if (day==6 && hours <17)
{
yourdate.setDate(date.getDate() + 4);
}
else if (day==5)
{
yourdate.setDate(date.getDate() + 5);
}
else if (day==4)
{
yourdate.setDate(date.getDate() + 6);
}
else if (day==3)
{
yourdate.setDate(date.getDate() + 7);
}
else if (day==2)
{
yourdate.setDate(date.getDate() + 8);
}
else if (day==1)
{
yourdate.setDate(date.getDate() + 9);
}
else if (day==0)
{
yourdate.setDate(date.getDate() + 10);
}
【讨论】:
我会这样做:
var now = new Date();
var nextWednesday = new Date();
if(now.getDay() == 6 && now.getHours() >= 17){
nextWednesday.setDate(now.getDate() + 11);
}else{
nextWednesday.setDate(now.getDate() + (10 - now.getDay()));
}
小提琴示例:https://jsfiddle.net/e1mLo1rv/
如果今天是星期六,如果是下午 5 点或更晚,则添加 11 天以获得所需的星期三。在其他情况下,您可以添加 10 天减去天数以获得所需的星期三。
周四、周五和周六下午 5 点之前将获得今天 + 10 - 6、5 或 4 天,即即将到来的周三。
周日、周一、周二和周三将为您带来今天 + 10 - 0、1,2 或 3 天。因此,您将获得下周的下一个星期三。
我能否指出 Stackoverflow 上的习惯是先自己编写一些东西,如果这样无法发布您的代码,而不是让社区帮助您。
【讨论】: