要向 JavaScript Date 对象添加 30 分钟,您可以使用以下步骤:
使用库
如果您进行大量日期工作时,您可能需要研究 JavaScript 日期库,例如 Luxon、Day.js 或 Moment.js。例如,对于 Moment.js,这很简单:var newDateObj = moment(oldDateObj).add(30, 'm').toDate();Vanilla JavaScript这就像混沌的答案,但在一行中:var newDateObj = new Date(oldDateObj.getTime() diff*60000);
其中 diff 是您想要的与 oldDateObj 时间的分钟差。它甚至可以是负数。
return new Date(date.getTime() + minutes*60000);
以防万一这不明显,我们将分钟乘以 60000 的原因是将分钟转换为毫秒。
addMinutes(new Date(2014, NOV, 2), 60*24); //在美国,打印 11 月 2 日晚上 11 点,而不是 11 月 3 日上午 12 点!
这就是为什么如果您必须为此做很多工作,使用上述库之一是更安全的选择。
if(!( date instanceof Date))
return undefined;
var checkRollover = function() { if(ret.getDate() != date.getDate()) ret.setDate(0);};
switch(String(interval) ).toLowerCase()) {
case 'year' : ret.setFullYear(ret.getFullYear() + units); checkRollover(); break; case 'quarter': ret.setMonth(ret.getMonth() + 3*units); checkRollover(); break; case 'month' : ret.setMonth(ret.getMonth() + units); checkRollover(); break; case 'week' : ret.setDate(ret.getDate() + 7*units); break; case 'day' : ret.setDate(ret.getDate() + units); break; case 'hour' : ret.setTime(ret.getTime() + units*3600000); break; case 'minute' : ret.setTime(ret.getTime() + units*60000); break; case 'second' : ret.setTime(ret.getTime() + units*1000); break; default : ret = undefined; break;
返回ret;
}
正在运行的 jsFiddle 演示。
以上是如何向 JavaScript 日期对象添加 30 分钟?的详细内容。更多信息请关注PHP中文网其他相关文章!