Quiero agregar 30 minutos y luego una hora a mi variable que ya tengo mi propia fecha
var initialDate = '10:00';Asi que
if (some condition){ // i add 30 minutes ->10:30 }elseif(another condition){ // i add 1hour ->11:00 }Intenté esto pero no funciona
var initialDate = '10:00'; var theAdd = new Date(initialDate); var finalDate = theAdd.setMinutes(theAdd.getMinutes() + 30);Si te entiendo correctamente, lo siguiente te ayudará.
Debe agregar la dependencia de momentjs a través de la etiqueta de secuencia de comandos y puede analizar, validar, manipular y mostrar fechas en JavaScript.
Puede encontrar más documentación sobre esto en el sitio web de momentjs
console.log(moment.utc('10:00','hh:mm').add(1,'hour').format('hh:mm')); console.log(moment.utc('10:00','hh:mm').add(30,'minutes').format('hh:mm')); <script src="https://momentjs.com/downloads/moment-with-locales.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>var theAdd = new Date(); // Set Hours, minutes, secons and miliseconds theAdd.setHours(10, 00, 00, 000); if (some condition) { // add 30 minutes --> 10:30 theAdd.setMinutes(theAdd.getMinutes() + 30); } elseif (some condition) { // add 1 hour --> 11:00 theAdd.setHours(theAdd.getHours() + 1); } Luego imprime la var theAdd para obtener la fecha y la hora.
Para obtener justo el tiempo:
theAdd.getHours() + ":" + theAdd.getMinutes();Esto debería hacer el trabajo. Las fechas necesitan un año y un mes en su constructor, y debe especificar unidades de tiempo más grandes si especifica y más pequeñas, por lo que también necesita un día. Además, tienes que pasar las horas y los minutos por separado. Consulte https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date .
var initialDate = '10:00'; var theAdd = new Date(1900,0,1,initialDate.split(":")[0],initialDate.split(":")[1]); if(30 min condition){ theAdd.setMinutes(theAdd.getMinutes() + 30); } else if (1 hour condition){ theAdd.setHours(theAdd.getHours() + 1); } console.log(theAdd.getHours()+":"+theAdd.getMinutes());