¿Cómo puedo traducir este pseudocódigo en js de trabajo?
var myEndDateTime = somedate; //somedate is a valid js date
var durationInMinutes = 100; //this can be any number of minutes from 1-7200 (5 days)
//this is the calculation I don't know how to do
var myStartDate = somedate - durationInMuntes;
alert("The event will start on " + myStartDate.toDateString() + " at " + myStartDate.toTimeString());
javascript
Brendan
fuente
fuente
.getTime()
. Ejemplo:var myStartDate = new Date(myEndDateTime.getTime() + durationInMinutes * MS_PER_MINUTE);
var myStartDate = somedate.addMinutes(-durationInMuntes);
Supongo que somedate es un objeto Datevar d = new Date("2017-10-29 01:50:00"), e = new Date(d.getTime() + 20 * 60000);
se puede esperare
a ser02:10:00
, ¿verdad? No01:10:00
. DST dice hola. Y luego están los segundos de salto ...También puede usar get y set minutes para lograrlo:
fuente
setMinutes()
es lo suficientemente inteligente como para manejar correctamente los minutos negativos. Entonces, si la fecha de inicio fue 3:05 y desea restar 30 minutos, pasaría-25
a setMinutes (), que es lo suficientemente inteligente como para saber que3:-25
es así2:35
. (es decir, no arroja una excepción)..setMinutes(...)
fuerza maneja losint
valores. Si se configura1.5 minutes
en unDate
solo se configurará1 minute
y mantendrá los segundos igual que antes.Todo es solo un tic, no es necesario memorizar métodos ...
o
actualizar
Después de trabajar con momentjs, debo decir que esta es una biblioteca increíble que deberías visitar. Es cierto que los ticks funcionan en muchos casos haciendo que su código sea muy pequeño y debe intentar que su código sea lo más pequeño posible para lo que necesita hacer. Pero para cualquier cosa complicada, usa momentjs.
fuente
moment.js tiene algunos métodos de conveniencia realmente buenos para manipular objetos de fecha
El método .subtract le permite restar una cierta cantidad de unidades de tiempo de una fecha, proporcionando la cantidad y una cadena de unidad de tiempo.
fuente
Esto es lo que encontré:
Fuentes:
http://www.javascriptcookbook.com/article/Perform-date-manipulations-based-on-adding-or-subtracting-time/
https://stackoverflow.com/a/12798270/1873386
fuente
puede convertir la marca de tiempo de Unix a la hora convencional utilizando, por
new Date()
ejemplo.fuente
Intenta lo siguiente:
fuente
Esto es lo que hice: ver en Codepen
fuente
new Date()
, pero tiene una fecha específica, y solo preguntó sobre restar minutos. Además, su código no funciona: devuelve la marca de tiempo UNIX en lugar del objeto Date.Amplíe la clase de fecha con esta función
Por lo tanto, puede agregar o restar una cantidad de minutos, segundos, horas, días ... a cualquier fecha.
fuente