我想获得一个日期对象,它比另一个日期对象晚30分钟。我如何用JavaScript做到这一点?
当前回答
一行代码
var afterSomeMinutes = new Date(new Date().getTime() + minutes * 60000);
在哪里分钟是一个数字
其他回答
使用已知的现有库来处理处理时间计算所涉及的异常。我现在最喜欢的是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>
您应该获取当前日期的值以获得日期(ms),并向其添加(30 * 60 *1000)。现在你有(当前日期+ 30分钟)ms
console.log('with ms', Date.now() + (30 * 60 * 1000)) console.log('new Date', new Date(Date.now() + (30 * 60 * 1000)))
没有实用程序的一行程序:
new Date(+new Date() + 60000*15) // +15 minutes
只是另一个选项,我写的:
DP_DateExtensions图书馆
如果这是您所需要的所有数据处理,那么它就太过了,但它会做您想做的事情。
支持日期/时间格式化,日期数学(添加/减去日期部分),日期比较,日期解析等。它是自由开源的。
事情就是这么简单;
let initial_date = new Date;
let added30Min = new Date(initial_date.getTime() + (30*60*1000));