Tengo una fecha en este formato cuando obtengo mis datos en mi base de datos postgresql así: 2022-02-20 00:37:11.337937+00
Pero cuando obtengo esto de mi código javascript, obtengo este resultado: 2022-02-20T00: 37: 15.279Z
¿Cómo puedo comparar esta fecha ya que 2022-02-20T00:37:15.279Z se corta con una 'Z' al final? Trato de comparar estrictamente exactamente esta fecha: 2022-02-20 00:37:11.337937+00 en mi código JS backend.
EDITAR: De hecho, puedo tener una matriz de lo que quiero, pero no puedo obtener un mensaje de valor y otros valores en mi base de datos. Esta es la solicitud que tengo, pero no puedo obtener la propiedad del mensaje:
SELECT ID, MAX(lastmsg) FROM ( SELECT m.receiver AS ID, MAX(m.created_at) as lastmsg FROM message m WHERE m.sender = '1' GROUP BY m.receiver UNION SELECT m.sender AS ID, MAX(m.created_at) as lastmsg FROM message m WHERE m.receiver = '1' GROUP BY m.sender ) as table2 GROUP BY ID ORDER BY max LIMIT 10 OFFSET 0Encontré esta solución en otra publicación, pero no sé cómo obtener el campo de mensaje, si cambio eso, tengo que agregarlo al GRUPO pero mi resultado no es el esperado.
Intenté algo así, pero no funciona:
SELECT * FROM ( SELECT DISTINCT ON (sender, receiver) sender, receiver, message AS msg, created_at AS created_at FROM message WHERE sender = '1' OR receiver = '1' ORDER BY sender, receiver, created_at ) fTengo valor duplicado con eso
Edición 2: estoy ejecutando la versión 12.2 de Postgresql en Debian
No puede comparar las dos fechas con marcas de tiempo. Primero, debe convertir la marca de tiempo en un formato de fecha (DD/MM/YY) antes de ejecutar su consulta. También puede usar el siguiente método.
datetime: { [Op.gte]: moment(req.body.datetime).startOf('day'), [Op.lte]: moment(req.body.datetime).endOf('day'), },