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:05Svar #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);
