Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

138
Vistas
Manera fácil de analizar "03 de febrero de 2022 a las 04:52 p.m." en Fecha en Javascript

Disculpas, soy un novato con Javascript y no pude ver ninguna manera fácil de analizar el 3 de February 03, 2022 at 04:52PM en un objeto Date .

Lo mejor que se me ocurre es usar Regex para dividir cada parte de la cadena en su propio componente y luego crear un nuevo objeto Date . Pero también necesitaré una declaración de switch para analizar el mes.

Necesito hacer esto en JS simple, sin bibliotecas.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Terminé haciendo esto de la manera difícil. Desearía que Javascript admitiera los especificadores de fecha y hora estándar de C para analizar cadenas de fecha, pero supongo que esto tendrá que funcionar:

jsfiddle

 function getDateObj(inputStr){ const monthObj = { 'Jan':0, 'Feb':1, 'Mar':2, 'Apr':3, 'May':4, 'Jun':5, 'Jul':6, 'Aug':7, 'Sep':8, 'Oct':9, 'Nov':10, 'Dec':11, }; const regexMonth = /(...).*/; const regexDate = /.*?\ ([0-9]{2}).*/; const regexYear = /([0-9]{4})/; const regexHour = /([0-9]{2}):[0-9]{2}(AM|PM)/; const regexMin = /[0-9]{2}:([0-9]{2})(AM|PM)/; const regexAmpm = /[0-9]{2}:[0-9]{2}((AM|PM))/; const month = monthObj[inputStr.match(regexMonth)[1]]; const date = parseInt(inputStr.match(regexDate)[1]); const year = parseInt(inputStr.match(regexYear)[1]); const hour = parseInt(inputStr.match(regexHour)[1]); const min = parseInt(inputStr.match(regexMin)[1]); const ampm = inputStr.match(regexAmpm); let realHour = 0; if (ampm[1] === 'PM') { realHour = parseInt(hour) + 12; } else { realHour = parseInt(hour); } const dateObj = new Date(year, month, date, hour, min, 0); return dateObj; } console.log(getDateObj('February 03, 2022 at 04:52PM').toString()); // "Thu Feb 03 2022 04:52:00 GMT+X (XXX Standard Time)"
about 4 years ago · Juan Pablo Isaza Denunciar

0

Bueno, con moment.js puedes analizar tu cadena tal como está y definir el formato. Dirígete a la página de las bibliotecas y abre la consola de desarrollo para jugar con ella.

básicamente quieres hacer esto:

 const date = moment('February 03, 2022 at 04:52PM', 'MMMM DD, YYYY at hh:mm A')
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda