Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

312
Visualizações
moment js no muestra la hora local, se muestra igual en la base de datos

cómo mostrar la fecha del campo createdAt según la zona horaria local. Lo he intentado, solo funciona para localhost cuando lo cargo en el servidor, muestra el formato UTC de datos de campo createdAt.

aquí está mi código

 dateFormatwithSec(date_time) { const testDateUtc = moment.utc(date_time); const localDate = moment(testDateUtc).local(); return localDate.format('YYYY-MM-DD HH:mm:ss'); },

por qué no proporciona la salida correcta en el servidor.

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Esto no es una respuesta, es realmente un comentario extenso. El OP debe incluir una cadena de fecha_hora de ejemplo, el resultado real y el resultado esperado en el OP, no en los comentarios.

Hasta que eso se sepa, nadie puede entender lo que significa " no proporciona la salida correcta en el servidor ".

Aquí hay una explicación de lo que está sucediendo, espero que ayude.

El método utc de Moment hace que muestre las marcas de tiempo como UTC. Para el análisis, hace que use UTC solo si no hay una compensación en la marca de tiempo. Entonces, dada una marca de tiempo como "2021-12-02 15:15:33", devolverá un objeto de momento con una Fecha que tiene un valor de tiempo equivalente a 2021-12-02T15:15:33+00:00.

El método local hace que moment muestre la fecha en la zona horaria local. Tenga en cuenta que "local" significa según la configuración del sistema, no la ubicación real del sistema.

Considere lo siguiente, donde se agregó el token Z para mostrar el desplazamiento que ese momento está usando para los objetos:

 function dateFormatwithSec (date_time) { // Set moment to UTC mode and parse the input string as UTC let testDateUtc = moment.utc(date_time); console.log('testDateUtc: ' + testDateUtc.format('YYYY-MM-DD HH:mm:ss Z')); // Set the moment object to local mode and return a formatted date let localDate = moment(testDateUtc).local(); return localDate.format('YYYY-MM-DD HH:mm:ss Z'); } let ts = '2021-12-02 15:15:33+04:00'; console.log('localDate : '+ dateFormatwithSec(ts));
 <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>

PD. Al analizar cadenas, siempre es mejor proporcionar también el formato, por lo que:

 moment.utc(date_time, 'YYYY-MM-DD HH:mm:ss')

se prefiere. También permite a los mantenedores ver el formato esperado (aunque también debería estar en la documentación). Incluso cambios muy pequeños en el formato harán que el momento vuelva al analizador integrado de la implementación, por ejemplo, '2021-12-02 15:15:33+04:00' frente a '2021-12-02 15:15:33 +04:00'.

about 4 years ago · Juan Pablo Isaza Relatório

0

Encontré una solución simple tomando una idea de RobG. me esta funcionando perfectamente. lo que hice.

 function dateFormatwithSec (date_time) { const dateutc = date_time.replace('Z', ''); // console.log(dateutc); const dt = new Date(`${dateutc}Z`); const finaldate = moment(dt).format('L, h:mm ss a'); //display local time with moment console.log( "local time is - " , finaldate) return finaldate ; } let ts = '2021-12-03T18:34:17.000Z'; dateFormatwithSec(ts);

 "local time is - ", "12/04/2021, 12:04 17 am"
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda