javascript - Legg til 10 sekunder til en dato


Hvordan kan jeg legge til 10 sekunder til et JavaScript-datoobjekt?

Noe som dette:

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

Svar #1

Det finnes også en setSeconds-metode:

var t = new Date();
t.setSeconds(t.getSeconds() + 10);

For en liste over de andre Date-funksjonene, bør du sjekke ut MDN

setSeconds vil håndtere tilfeller med omløp korrekt:

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

Svar #2

let timeObject = new Date();
const milliseconds = 10 * 1000; // 10 seconds = 10000 milliseconds
timeObject = new Date(timeObject.getTime() + milliseconds);

Svar #3

Bare for ytelsesmaniakene blant oss.

hentTid

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

5,196,949 operasjoner/sek, raskest

settSekunder

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

2 936 604 operasjoner/sek, 43 % tregere

moment.js

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

22,549 operasjoner/sek, 100% tregere

Så kanskje det er den minst menneskelig lesbare (ikke så ille) men den raskeste måten å gå på :)

jspref nettbaserte tester

Svar #4

const timeObject = new Date(); 
timeObject = new Date(timeObject.getTime() + 1000 * 10);
console.log(timeObject);

Vennligst se også: Hvordan legge til 30 minutter til et JavaScript Date-objekt?

Svar #5

Prøv dette

a = new Date();
a.setSeconds(a.getSeconds() + 10);

Relaterte artikler