Estoy tratando de agregar 15 minutos a una fecha y hora (2100-01-04T08: 00: 00) mientras se realiza un bucle. Para cada ejecución, quiero agregar 15 minutos, por lo que sería 2100-01-04T08:15:00, 2100-01-04T08:30:00 y así sucesivamente... Sé que puedo hacer lo siguiente: var moment = require( 'momento'); moment().add(15, 'minutos').toISOString(); Pero esto agregará 15 minutos al momento actual, pero quiero agregar 15 minutos a 2100-01-04T08:00:00.
¿Es esto posible en cartero?
Puede lograr esto sin usar bibliotecas de terceros como momentJs. El objeto Date de javascript predeterminado tiene métodos para obtener la propiedad de minutos para un objeto de fecha: getMinutes() y también otro método para actualizar esta propiedad de minutos: setMinutes(). Combinándolos a ambos, puede lograr la respuesta requerida.
let x = new Date('2100-01-04T08:00:00') for(let i = 0 ; i < 5; i ++){ x.setMinutes(x.getMinutes()+15); console.log(x) }PD, elimine 'cartero' de su pregunta. No tiene nada que ver con el problema al que te enfrentas.
Puede crear fácilmente una función addMinutes() para agregar una cantidad de minutos a una fecha, luego puede usar un ciclo while para repetir hasta que se alcance una fecha de finalización específica.
En el siguiente ejemplo, agregaremos 15 minutos a la fecha hasta que se alcance la fecha de finalización.
function addMinutes(date, minutes) { let newDate = new Date(date); newDate.setMinutes(newDate.getMinutes() + minutes); return newDate; } let date = new Date('2100-01-04T08:00:00'); let endDate = new Date('2100-01-04T09:00:00'); let deltaMinutes = 15; while (date <= endDate) { console.log(date.toLocaleString('en-US')); date = addMinutes(date, 15); } .as-console-wrapper { max-height: 100% !important; }