获取Javascript中指定日期/时间的下一个实例

Get the next instance of a specified date/time in Javascript

本文关键字:时间 下一个 实例 日期 Javascript 获取      更新时间:2023-09-26

我如何使用JavaScript(包括JQuery)获得一个日期对象,代表11的下一个实例?

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

这是一个电子商务网站上的发货截止日期(每周11点)的倒计时。

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

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,与今天进行比较,如果已经发生,则添加一天。

这可能行得通:

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);

欢呼。