如何添加10秒到一个JavaScript日期对象?

就像这样:

var timeObject = new Date()     
var seconds = timeObject.getSeconds() + 10;
timeObject = timeObject + seconds;

当前回答

还有一个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)

其他回答

你可以使用setSeconds方法获取今天的秒数,并在其中添加10秒 var today = new Date(); today.setSeconds(today.getSeconds() + 10); 您可以添加10 *1000毫秒的新日期: var today = new Date(); today = new Date(today. gettime () + 1000*10); 你可以使用setTime: settime (now.getTime() + 10000)

只为我们中的表演狂人。

取得时间

var d = new Date('2014-01-01 10:11:55');
d = new Date(d.getTime() + 10000);

5,196,949 Ops/秒,更快


setSeconds

var d = new Date('2014-01-01 10:11:55');
d.setSeconds(d.getSeconds() + 10);

2936604次操作/秒,慢43%


moment.js

var d = new moment('2014-01-01 10:11:55');
d = d.add(10, 'seconds');

每秒22,549次操作,慢了100%


所以这可能是最不适合人类阅读的(不是那么糟糕),但是最快的方式:)

Jspref在线测试

还有一个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)

几年前,我写了一个“通用的”日期函数:

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());
timeObject.setSeconds(timeObject.getSeconds() + 10)