Как добавить 10 секунд к объекту timeObject объекта javascript. Что-то вроде этого я думаю..
var timeObject = new Date()
var seconds = timeObject.getSeconds() + 10;
timeObject = timeObject + seconds;
Как добавить 10 секунд к объекту timeObject объекта 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 = new Date('2014-01-01 10:11:55');
alert(d.getMinutes() + ':' + d.getSeconds()); //11:55
d.setSeconds(d.getSeconds() + 10);
alert(d.getMinutes() + ':0' + d.getSeconds()); //12:05
// var timeObject = new Date();
new Date(timeObject.getTime() + 10000);
var timeObject = new Date();
timeObject = new Date(timeObject .getTime() + 1000*10);
console.log(timeObject);
Просто для маньяков производительности среди нас.
var d = new Date('2014-01-01 10:11:55');
d = new Date(d.getTime() + 10000);
5,196,949 Ops/sec, самый быстрый
var d = new Date('2014-01-01 10:11:55');
d.setSeconds(d.getSeconds() + 10);
2,936,604 Ops/sec, на 43% медленнее
var d = new moment('2014-01-01 10:11:55');
d = d.add(10, 'seconds');
22,549 Ops/sec, на 100% медленнее
Так что, возможно, его наименее читаемый человеком (не так уж плохо), но самый быстрый способ пойти:)
Попробуйте это
a = new Date();
a.setSeconds(a.getSeconds() + 10);
timeObject.setSeconds(timeObject.getSeconds() + 10)
Объект Date()
в javascript не настолько умный.
Если вы просто сосредотачиваетесь на добавлении секунд, это, кажется, обрабатывает вещи гладко, но если вы попытаетесь добавить X количество секунд, добавьте X число минут и часов и т.д. в тот же объект Date
, в котором вы оказались в беде. Поэтому я просто отказался только от метода setSeconds()
и преобразовал свои данные в секунды (что отлично работало).
Если кто-нибудь может продемонстрировать добавление времени к глобальному объекту Date()
, используя все установленные методы и окончательное время выйдет правильно, я бы хотел его увидеть, но я понял, что один метод набора должен использоваться на время на данном объекте Date()
и их смешение приводит к беспорядку.
var vTime = new Date();
var iSecondsToAdd = ( iSeconds + (iMinutes * 60) + (iHours * 3600) + (iDays * 86400) );
vTime.setSeconds(iSecondsToAdd);