¿Cómo puedo agregar 10 segundos a un objeto de fecha JavaScript?
Algo como esto:
var timeObject = new Date()
var seconds = timeObject.getSeconds() + 10;
timeObject = timeObject + seconds;
javascript
Jorge
fuente
fuente
Respuestas:
También hay un
setSeconds
método:Para obtener una lista de las otras
Date
funciones, debe consultar MDNsetSeconds
manejará correctamente los casos envolventes:fuente
typeof new Date().getSeconds()
regresa'number'
en el nodo, por lo que creo que puede tener otros problemas (a menos que esté en una versión desactualizada del nodo o algo así).d.setSeconds(d.getSeconds() - 92);
y terminarás con una diferencia de 2'32 "en lugar de 1'32".new Date(d.getTime() - 92*1000);
¡Sin embargo, la solución funciona!fuente
Solo por los maniacos de rendimiento entre nosotros.
consigue tiempo
5,196,949 Ops / seg, el más rápido
setSeconds
2,936,604 Ops / sec, 43% más lento
moment.js
22,549 Ops / sec, 100% más lento
Entonces, tal vez sea la menos legible para los humanos (no está tan mal) pero la forma más rápida de ir :)
Pruebas en línea de jspref
fuente
Consulte también: ¿Cómo agregar 30 minutos a un objeto Fecha de JavaScript?
fuente
var timestamp = Date.parse("2011-03-26T20:59:59.999Z"); var d = new Date(timestamp); d.setSeconds(d.getSeconds() + 10); console.log(d.getTime() - timestamp);
Prueba esto
fuente
fuente
Tengo un par de nuevas variantes
var t = new Date(Date.now() + 10000);
var t = new Date(+new Date() + 10000);
fuente
El
Date()
objeto en javascript no es tan inteligente realmente.Si solo te enfocas en agregar segundos, parece manejar las cosas sin problemas, pero si intentas agregar X número de segundos, entonces agrega X número de minutos y horas, etc., al mismo
Date
objeto que terminas en problemas. Así que simplemente recurrí a solo usar elsetSeconds()
método y convertir mis datos en segundos (lo que funcionó bien).Si alguien puede demostrar la adición de tiempo a un
Date()
objeto global utilizando todos los métodos establecidos y hacer que la hora final salga correctamente, me gustaría verlo, pero tengo la sensación de que un método establecido debe usarse a la vez en unDate()
objeto determinado y mezclarlos conduce a un desastre.Aquí hay más documentación que puede ayudar :
fuente
puede usar el
setSeconds
método obteniendo segundos a partir de hoy y simplemente agregando 10 segundosPuede agregar 10 * 1000 milisegundos a la nueva fecha:
Puedes usar
setTime
:fuente
Intenta de esta manera.
Solo llama y asigna
new Date().addSeconds(10)
fuente