0

如何使用 JavaScript (inc JQuery) 获取表示下一个 11:00 实例的 Date 对象?

我的例子是,如果当前时间是 6 月 2 日星期一的 15:00,我想返回 6 月 3 日星期二的 11:00。同样,如果当前日期是 6 月 5 日星期四 9:15,我想返回 6 月 5 日星期四 11:00。所以它应该根据当前日期/时间返回 11:00 的下一个实例。

这是针对电子商务网站上的发货截止时间(每周日 11:00)的倒计时。

从长远来看,我还想排除周末,例如,如果当前日期是 6 月 7 日星期六的 09:00,它将返回 6 月 9 日星期一的 11:00,但这不是我现在的主要问题。

4

2 回答 2

0

这可能有效:

var x = new Date();
var y = new Date(x.getFullYear(), x.getMonth(), (x.getHours()<11?(x.getDay()==0?x.getDate()+1:(x.getDay==6?x.getDate()+2:x.getDate())):x.getDate()+1), 11, 0, 0, 0);
console.log(y);

干杯。

于 2013-04-09T10:18:20.843 回答
0
today=new Date()
b=new Date()
b.setHours(11) //11:00 AM, use 23 for 11:00 PM
b.setMinutes(0);
b.setSeconds(0);
if(today-b>0){
  b.setDate(b.getDate()+1)//if you're at the end of the week, it will adjust for you
}
//The following part kicks out weekends:
if(b.getDay()==0||){
  b.setDate(b.getDate()+1) //Sunday becomes Monday
}
if(b.getDay()==6){
  b.setDate(b.getDate()+2) //Saturday becomes Monday
}
console.log(b)

只需将小时设置为 11,与今天进行比较,如果已经发生,则添加一天。

于 2013-04-09T10:18:53.813 回答