如题,使用时间戳来计算。
function setDate(time, isAdd) {
var date = getCurTime(time);//也可以直接透传如'2021-5-8'
var d = new Date(date);
var t_s = d.getTime(); //转化为时间戳毫秒数
var newt = new Date(date); //定义一个新时间
if (isAdd) {
newt.setTime(t_s + 1000); //设置新时间比旧时间多一秒
} else {
newt.setTime(t_s - 1000); //设置新时间比旧时间少一秒
}
newt = new Date(newt)
var h = newt.getHours();
var m = newt.getMinutes();
var s = newt.getSeconds();
return zeroPad(h) + ':' + zeroPad(m) + ':' + zeroPad(s);
}
function getCurTime(time) {
var myDate = new Date();
var nowYear = myDate.getFullYear();
var nowMonth = myDate.getMonth() + 1;
var nowDay = myDate.getDate();
return nowYear + '-' + nowMonth + '-' + nowDay + ' ' + time;
}
// 补0
function zeroPad(n) {
return n < 10 ? '0' + n : n;
}
//示例1:setDate('14:00:01') "14:00:00"
//示例2:setDate('14:00:01', false) "14:00:00"
//示例3:setDate('14:00:01', true) "14:00:02"