如何添加10秒到一个JavaScript日期对象?
就像这样:
var timeObject = new Date()
var seconds = timeObject.getSeconds() + 10;
timeObject = timeObject + seconds;
如何添加10秒到一个JavaScript日期对象?
就像这样:
var timeObject = new Date()
var seconds = timeObject.getSeconds() + 10;
timeObject = timeObject + seconds;
当前回答
几年前,我写了一个“通用的”日期函数:
function addToDate({time_unit, operator, offset_value }) {
const date = new Date();
operator = operator == "after" ? "+" : "-";
switch (time_unit) {
case "seconds":
date.setSeconds(eval(`${date.getSeconds()} ${operator} ${offset_value}`));
break;
case "hours":
date.setHours(eval(`${date.getHours()} ${operator} ${offset_value}`));
break;
case "minutes":
date.setMinutes(eval(`${date.getMinutes()} ${operator} ${offset_value}`));
break;
case "days":
date.setDate(eval(`${date.getDate()} ${operator} ${offset_value}`));
break;
case "months":
date.setMonth(eval(`${date.getMonth()} ${operator} ${offset_value}`));
break;
case "years":
date.setFullYear(eval(`${date.getFullYear()} ${operator} ${offset_value}`));
break;
default:
break;
}
return date;
}
const new_date = addToDate({time_unit:'seconds','operator':'after','offset_value':10});
console.log(new_date.toISOString());
其他回答
还有一个setSeconds方法:
var t = new Date();
t.setSeconds(t.getSeconds() + 10);
有关其他Date函数的列表,您应该查看MDN
setSeconds将正确处理换行的情况:
var d; d =新日期('2014-01-01 10:11:55'); alert(d.getMinutes() + ':' + d.getSeconds());/ / 34) d.setSeconds(d.getSeconds() + 10); alert(d.getMinutes() + ':0' + d.getSeconds());/ / 12:05)
试试这个
a = new Date();
a.setSeconds(a.getSeconds() + 10);
在node.js下,.setSeconds为我揭示了非常奇怪的错误行为,所以我使用:
dateAddSeconds(date, seconds){
return new Date( Date.parse(date) + seconds*1000 );
}
几年前,我写了一个“通用的”日期函数:
function addToDate({time_unit, operator, offset_value }) {
const date = new Date();
operator = operator == "after" ? "+" : "-";
switch (time_unit) {
case "seconds":
date.setSeconds(eval(`${date.getSeconds()} ${operator} ${offset_value}`));
break;
case "hours":
date.setHours(eval(`${date.getHours()} ${operator} ${offset_value}`));
break;
case "minutes":
date.setMinutes(eval(`${date.getMinutes()} ${operator} ${offset_value}`));
break;
case "days":
date.setDate(eval(`${date.getDate()} ${operator} ${offset_value}`));
break;
case "months":
date.setMonth(eval(`${date.getMonth()} ${operator} ${offset_value}`));
break;
case "years":
date.setFullYear(eval(`${date.getFullYear()} ${operator} ${offset_value}`));
break;
default:
break;
}
return date;
}
const new_date = addToDate({time_unit:'seconds','operator':'after','offset_value':10});
console.log(new_date.toISOString());
const timeObject = new Date();
timeObject = new Date(timeObject.getTime() + 1000 * 10);
console.log(timeObject);
另请参阅: 如何添加30分钟的JavaScript日期对象?