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


当前回答

以下是ES6版本:

let getTimeAfter30Mins = () => {
  let timeAfter30Mins = new Date();
  timeAfter30Mins = new Date(timeAfter30Mins.setMinutes(timeAfter30Mins.getMinutes() + 30));
};

这样称呼它:

getTimeAfter30Mins();

其他回答

使用已知的现有库来处理处理时间计算所涉及的异常。我现在最喜欢的是moment.js。

<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.13.0/moment.js"></script>
<script>
 var now = moment(); // get "now"
 console.log(now.toDate()); // show original date
 var thirty = moment(now).add(30,"minutes"); // clone "now" object and add 30 minutes, taking into account weirdness like crossing DST boundries or leap-days, -minutes, -seconds.
 console.log(thirty.toDate()); // show new date
</script>

只是另一个选项,我写的:

DP_DateExtensions图书馆

如果这是您所需要的所有数据处理,那么它就太过了,但它会做您想做的事情。

支持日期/时间格式化,日期数学(添加/减去日期部分),日期比较,日期解析等。它是自由开源的。

其他解决方案:

var dateAv = new Date();
var endTime = new Date(dateAv.getFullYear(), dateAv.getMonth(), dateAv.getDate(), dateAv.getHours(), dateAv.getMinutes() + 30);
          

var now = new Date(); now.setMinutes(now.getMinutes() + 30);/ /时间戳 日期(现在);//日期对象 console.log(现在);

一行代码

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

在哪里分钟是一个数字