Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

201
Views
Javascript, tratando de obtener la fecha solo a tiempo parcial

Tengo un campo de fecha proveniente de SQL de la siguiente manera:

2022-06-30T00:00:00.000Z

Estoy tratando de obtener los primeros 10 caracteres (fecha en formato aaaa-mm-dd), pero no puedo hacerlo funcionar.

Primero, probé una función "izquierda"

 textPaidThru= pt.slice(0,10)

y tengo

mié 29 de junio

Entonces probé momento

 let textPaidThru = moment(paidThru).format('YYYY-MM-DD');

Pero estoy recibiendo esto:

2022-06-29

No importa qué método intente usar, siempre obtengo la fecha proporcionada menos un día.

Encuentro que trabajar con fechas es muy difícil en JS. ¿Hay alguna manera de obtener la parte de la fecha solo como lo proporciona SQL? Este es el valor que estoy esperando:

2022-06-30

Gracias.

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

TL;RD; Zonas horarias

Respuesta real

Podrías usar un javascript de vainilla y analizarlo así:

Tenga en cuenta que el mes tiene un índice cero en Fecha, por lo que deberá agregar 1 a cada uno:

 const dateToParse = "2022-06-30T00:00:00.000Z" let parsedDate = new Date(dateToParse) const formattedDate = `${parsedDate.getFullYear()}-${parsedDate.getMonth()+1}-${parsedDate.getDate()}` console.log(formattedDate)

La razón por la que obtiene 6-29 probablemente se deba a que no vive en UTC + 0. También obtengo 6-29, pero eso es porque vivo en UTC-7.

Si observa el código a continuación, cambio la hora para que sea UTC-7 (que también debería funcionar para su zona horaria si lo que dice su perfil es UTC-3 correcto) y el registro de la consola para mí ahora muestra 6-30.

 const dateToParse = "2022-06-30T07:00:00.000Z" let parsedDate = new Date(dateToParse) const formattedDate = `${parsedDate.getFullYear()}-${parsedDate.getMonth()+1}-${parsedDate.getDate()}` console.log(formattedDate)

about 4 years ago · Juan Pablo Isaza Report

0

Si sabe que siempre obtendrá el mismo formato (bueno, probablemente lo hará), puede usar split , algo así como.

 let dateTime = '2022-03-25T02:03:04.000Z'; let onlyDate = date.split('T')[0];

Esto dividirá la cadena en T y básicamente solo quieres la primera parte (índice de matriz 0) y eso es todo.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!