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

141
Views
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 answers
Answer question

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 Report

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 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!