如何在javascript日期对象中获得下一个12:00:00 PM

时间:2011-08-04 08:09:50

标签: javascript date

只需要知道如何在JavaScript日期对象中获得最接近的12:00:00 pm,出于某种原因我感到困惑! EG如果是7月1日上午9点,那么它将是7月1日中午12点,但如果是7月1日下午1点00分,那么我需要7月2日中午12点返回。

干杯。

3 个答案:

答案 0 :(得分:3)

试试这个......

var dt = new Date();
var tomorrowNoon = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate() + 1, 12, 0, 0);

我已经检查了它是否已经过了月底,这也有效......

var dt = new Date(2011, 7, 31);
var tomorrowNoon = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate() + 1, 12, 0, 0);

答案 1 :(得分:2)

DEMO HERE

var nextNoon = new Date();
if (nextNoon.getHours()>=12) nextNoon.setDate(nextNoon.getDate()+1)
nextNoon.setHours(12,0,0,0)
alert(nextNoon)            

答案 2 :(得分:1)

JavaScript的日期在某种意义上是宽松的,例如8月32日等于9月1日,所以也许这样:

function getNextNoon() {
  var noon = new Date();
  if (noon.getHours() >= 12) {
    noon.setDate(noon.getDate() + 1);
  }
  noon.setHours(12);
  noon.setMinutes(0);
  return noon;
}