¡Por favor ayuda! Soy un usuario de JavaScript muy novato y he buscado en los foros tratando de encontrar una respuesta a mi problema:
Tengo dos campos que son variables. Estoy tratando de agregarlos en un campo separado. Un campo (TotHr) está en formato HH:MM y el otro es un campo de fecha y hora (DTin1) que está en formato m/d/yy h:MM tt . Necesito que la salida se lea en el mismo formato que el campo de fecha y hora. Esto se utilizará en varias consolas a lo largo de mi trabajo, por lo que no me gustaría usar una biblioteca como moment.js.
Esto es lo que tengo hasta ahora:
var date = new Date(); var dateMil = date.getTime("DTin1"); var timePeriod = ("TotHr"); var parts = timePeriod.split(/:/); var timePeriodMil = (parseInt(parts[0], 10) * 60 * 60 * 1000) + (parseInt(parts[1], 10) * 60 * 1000) + (parseInt(parts[2], 10) * 1000); var newDate = new Date(); newDate.setTime(dateMil + timePeriodMil); console.log(newDate);Hay muchas maneras de hacerlo en JavaScript. Una forma simple es usar alguna biblioteca, por ejemplo, el siguiente código usa la biblioteca moment.js .
const { duration } = require('moment') const moment = require('moment-timezone') let strDuration = "10:30" let strDateTime = "9/6/21 5:10 am" let format = 'M/D/YY h:ma' dur = moment.duration(strDuration) dt = new moment(strDateTime, format) result = dt.add(dur).tz('Europe/London').format(format) console.log(result)Producción:
9/6/21 3:40 pm