我想获得一个日期对象,它比另一个日期对象晚30分钟。我如何用JavaScript做到这一点?


当前回答

一行代码

  var afterSomeMinutes = new Date(new Date().getTime() + minutes * 60000);

在哪里分钟是一个数字

其他回答

我知道这个话题太老了。但是我非常确定有一些开发人员仍然需要这个,所以我为您制作了这个简单的脚本。 希望你喜欢!

你好,现在是2020年,我做了一些修改,希望现在能更好地帮助你!

你好,现在是2022年,我又回来解决了一些问题,并为方法和函数提供了更好的命名。

function addTimeToDate(addedTime, date){ let generatedTime = date.getTime(); if(addedTime.seconds) generatedTime += 1000 * addedTime.seconds; //check for additional seconds if(addedTime.minutes) generatedTime += 1000* 60 * addedTime.minutes;//check for additional minutes if(addedTime.hours) generatedTime += 1000 * 60 * 60 * addedTime.hours;//check for additional hours return new Date(generatedTime); } Date.prototype.addTime = function(addedTime){ return addTimeToDate(addedTime, this); } let futureDate = new Date().addTime({ hours: 16, //Adding one hour minutes: 45, //Adding fourty five minutes seconds: 0 //Adding 0 seconds return to not adding any second so we can remove it. }); <button onclick="console.log(futureDate)">Travel to the future</button>

简单地,你可以在momnet库中使用这段代码:

console.log(moment(moment()).add(30,"minutes").format('MM/DD/YYYY hh:mm:ss'));

新日期() var newDateObj =新日期(); (+ 30 * 60 * 1000); 游戏机。log (newDateObj);

var add_minutes =  function (dt, minutes) {
return new Date(dt.getTime() + minutes*60000);
}
 console.log(add_minutes(new Date(2014,10,2), 30).toString());

“添加”30分钟的一种方法是创建第二个日期对象(主要用于演示),并将分钟设置为分钟+ 30。如果第一次距离下一个小时不到30分钟,这也可以考虑调整时间。(即4:45至5:15)

const first = new Date(); console.log("第一次约会:",first. tostring ()); const second =新的日期(第一个); const newMinutes = second.getMinutes() + 30; console.log("new minutes:", newMinutes); second.setMinutes (newMinutes); console.log("second date:", second. tostring ());