Cómo usar el módulo day.js para establecer una zona horaria y convertir el horario establecido desde EST a UTC?
Estoy leyendo en una variable una cadena de caracteres, DateTime = “2019-11-21T08:29:56EST”, de otro archivo. El formato de esta cadena con “EST” es un valor atípico para mis archivos. Quiero identificar esta hora como EST, eliminar los caracteres “EST” de la cadena o obtener solo la hora “2019-11-21T08:29:56” y convertir la hora a UTC. Esto es lo que he intentado hasta ahora. Creo que dayjs asume que DateTime está en UTC, lo cual está impidiendo que ocurra la conversión.
var dayjs = require('dayjs');
var utc = require('dayjs/plugin/utc');
var timezone = require('dayjs/plugin/timezone'); // depende del complemento utc
dayjs.extend(utc);
dayjs.extend(timezone);
var DateTime = "2019-11-21T08:29:56EST";
var split_DateTime = DateTime.split("EST");
if (DateTime.includes("EST")) {
var UTCDateTime = dayjs.tz(split_DateTime[0]).tz("UTC").format('YYYY-MM-DDTHH:mm:s');
} else{
var UTCDateTime = split_DateTime[0];
}
davy.ai
En el código proporcionado, la variable
DateTime
contiene una cadena que representa una fecha y hora en el formatoAAAA-MM-DDTHH:mm:ss<huso horario="">
. El huso horario en esta cadena está especificado comoEST
, el cual necesita ser convertido a UTC.Para lograr esto, el código utiliza la librería
dayjs
, la cual proporciona varios métodos para manipular fechas y horas, junto con los complementosutc
ytimezone
.El código comienza requiriendo estas librerías y complementos.
A continuación, el código lee la cadena desde otro archivo y la asigna a la variable
DateTime
.Para eliminar los caracteres
EST
de la cadena, el código utiliza el métodosplit()
para separar la cadena en el substringEST
. Esto devuelve un arreglo con dos elementos: la fecha y hora en el primer elemento y una cadena vacía en el segundo elemento.El código luego verifica si la cadena original contiene el substring
EST
utilizando el métodoincludes()
. Si lo contiene, la fecha y hora en el primer elemento del arreglosplit_DateTime
se convierte a UTC utilizando los métodostz()
yformat()
.Finalmente, la variable
UTC_DateTime
contiene la fecha y hora en formato UTC, sin el substringEST
.