Tiempo de lectura: < 1 minuto
Hoy os traigo un pequeño script para vuestras aplicaciones móviles qué permitirá comparar dos fechas en formato UTC en React Native, React o JavaScript Vanila y obtener los segundos de diferencia.
El código obtiene una fecha que llega en formato UTC desde la base de datos. A veces no incluye la Z al final, se debe añadir para indicar que la fecha es formato UTC.
Al restar ambas fechas y una de ellas ser formato UTC, trata a las dos cómo UTC y las resta independientemente del USO horario qué tenga el dispositivo.
export function restarTiempo(fecha: string) {
// Si la fecha no tiene zona horaria, agregamos "Z" al final para forzar UTC
const fechaServidor = fecha.includes('Z') ? fecha : `${fecha}Z`;
// Obtener la fecha actual en UTC
let fechaActualUTC = new Date();
console.log('fechaActual UTC', fechaActualUTC);
// Crear un objeto Date con la fecha proporcionada en UTC
const fechaRestar = new Date(fechaServidor);
console.log('fechaRestar', fechaRestar);
// Calcular la diferencia en milisegundos entre las dos fechas
const diferencia = fechaRestar.getTime() - fechaActualUTC.getTime();
console.log('diferencia', diferencia);
// Convertir la diferencia a segundos y asegurarse de que no sea negativa
let segundos = Math.floor(diferencia / 1000);
export function restarTiempo(fecha: string) {
// Si la fecha no tiene zona horaria, agregamos "Z" al final para forzar UTC
const fechaServidor = fecha.includes('Z') ? fecha : `${fecha}Z`;
// Obtener la fecha actual en UTC
let fechaActualUTC = new Date();
console.log('fechaActual UTC', fechaActualUTC);
// Crear un objeto Date con la fecha proporcionada en UTC
const fechaRestar = new Date(fechaServidor);
console.log('fechaRestar', fechaRestar);
// Calcular la diferencia en milisegundos entre las dos fechas
const diferencia = fechaRestar.getTime() - fechaActualUTC.getTime();
console.log('diferencia', diferencia);
// Convertir la diferencia a segundos y asegurarse de que no sea negativa
let segundos = Math.floor(diferencia / 1000);
if (segundos < 0) {
segundos = 0;
}
return segundos;
}
export function restarTiempo(fecha: string) {
// Si la fecha no tiene zona horaria, agregamos "Z" al final para forzar UTC
const fechaServidor = fecha.includes('Z') ? fecha : `${fecha}Z`;
// Obtener la fecha actual en UTC
let fechaActualUTC = new Date();
console.log('fechaActual UTC', fechaActualUTC);
// Crear un objeto Date con la fecha proporcionada en UTC
const fechaRestar = new Date(fechaServidor);
console.log('fechaRestar', fechaRestar);
// Calcular la diferencia en milisegundos entre las dos fechas
const diferencia = fechaRestar.getTime() - fechaActualUTC.getTime();
console.log('diferencia', diferencia);
// Convertir la diferencia a segundos y asegurarse de que no sea negativa
let segundos = Math.floor(diferencia / 1000);
if (segundos < 0) {
segundos = 0;
}
return segundos;
}
Ingeniero en Informática, Investigador, me encanta crear cosas o arreglarlas y darles una nueva vida. Escritor y poeta. Más de 20 APPs publicadas y un libro en Amazon.
Post Views: 6
Relacionado