Combine la fecha y la hora en un formato de cadena en un objeto combinado de fecha y hora en Ionic (Angular).
Tengo una fecha y hora en forma de cadena en un proyecto de Ionic de la siguiente manera y quiero combinar ambas para tener un objeto de fecha y hora combinados para poder enviarlo al servidor.
const date = "Fri Jan 07 2022 13:15:40 GMT+0530 (India Standard Time)";
const time = "2:15 PM";
Resultado combinado esperado:
dateTime = 2022-01-07 14:15:00 +0530
Probé este código a continuación pero no funcionó para mí. Estoy obteniendo un error:
“TypeError: date.replace no es una función”
const t1: any = time.split(' ');
const t2: any = t1[0].split(':');
t2[0] = t1[1] === 'PM' ? 1 * t2[0] + 12 : t2[0];
const time24 = (t2[0] < 10 ? '0' + t2[0] : t2[0]) + ':' + t2[1];
const completeDate = date.replace('00:00', time24.toString());
¿Alguien puede ayudarme a lograr este resultado dateTime = 2022-01-07 14:15:00 +0530
a partir de las cadenas de entrada mencionadas anteriormente?
davy.ai
Para obtener la salida esperada
dateTime = 2022-01-07 14:15:00 +0530
a partir de las cadenas dedate
ytime
dadas, puedes seguir los siguientes pasos:date
en un objetoDate
usando el constructornew Date()
.Date
y formatealos como una cadena en el formato deseado (yyyy-MM-dd).time
y formatealos como una cadena en el formato de 24 horas (HH:mm).Aquí tienes el código para lograr esto:
Ten en cuenta que el código anterior asume que la cadena
time
utiliza el formato AM/PM y que el desplazamiento de la zona horaria es siempre “+0530” (que es el desplazamiento de la zona horaria de India). Si estas suposiciones no son correctas para tu caso de uso, es posible que debas ajustar el código en consecuencia.