Actualmente estoy trabajando en un proyecto NodeJS-MySQL, estoy haciendo un controlador para una tabla (graduados). Esta tabla tiene dos atributos (created_at, updated_at) que reciben la fecha y hora actuales. El problema es: cuando OBTENGO los valores de esta tabla en el Navegador/Insomnio, la fecha está en la zona horaria UTC 0 (no es lo que quiero), pero cuando reviso directamente en MySQL, está en UTC -3 ( mi zona horaria/lo que quiero). Para obtener los valores de fecha, estoy usando moment.js y moment-timezone.js. Algunas partes de mi código:
var moment = require('moment'); var moment = require('moment-timezone'); moment().tz("America/Sao_Paulo").format();configurar moment.js (configurar la zona horaria en Sao_Paulo no cambió nada, probablemente lo esté usando mal)
const result = await mysql.execute("SELECT * FROM graduates;") const response = { length: result.length, graduates: result.map(graduate => { return { id: graduate.id, nomeGrad: graduate.nomeGrad, description: graduate.description, created_at: graduate.created_at, updated_at: graduate.updated_at } }) }Obtenga los graduados de la tabla (en MySQL, cuando uso "SELECT * FROM graduates", obtengo los mismos valores, la única diferencia es el tiempo)
var dateTime = moment().tz("America/Sao_Paulo").format(); try { const query = 'INSERT INTO graduates (id, nomeGrad, description, created_at, updated_at) VALUES (?,?,?,?,?)'; const result = await mysql.execute(query, [ req.body.id, req.body.nomeGrad, req.body.description, created_at = dateTime, updated_at = dateTime ]);Y así publico los egresados. Ahora para las salidas:
{ "id": "43", "nomeGrad": "iiiiiiiiiiiiiiiiiiiiiii", "description": "ssssssssssssssssssssssssss", "created_at": "2021-10-26T23:44:10.000Z", "updated_at": "2021-10-26T23:44:10.000Z" }El resultado anterior es de Insomnia / Browser (el tiempo es 23:44)
# id, nomeGrad, description, created_at, updated_at '43', 'iiiiiiiiiiiiiiiiiiiiiii', 'ssssssssssssssssssssssssss', '2021-10-26 20:44:10', '2021-10-26 20:44:10'El resultado anterior proviene de escribir directamente "SELECCIONAR * DE graduados" en MySQL (el tiempo es 20:44)
Thank you for your time and patience for reading this.