Saltar al contenido

¿La forma más fácil de convertir el nombre del mes en el número del mes en JS? (Enero = 01)

Solución:

Solo por diversión hice esto:

function getMonthFromString(mon){
   return new Date(Date.parse(mon +" 1, 2012")).getMonth()+1
}

Bonificación: también admite nombres de meses completos 😀 O la nueva versión mejorada que simplemente devuelve -1; cámbiela para lanzar la excepción si lo desea (en lugar de devolver -1):

function getMonthFromString(mon){

   var d = Date.parse(mon + "1, 2012");
   if(!isNaN(d)){
      return new Date(d).getMonth() + 1;
   }
   return -1;
 }

Sry por todas las ediciones, adelantándome a mí mismo

De otra manera;

alert( "JanFebMarAprMayJunJulAugSepOctNovDec".indexOf("Jun") / 3 + 1 );

Si no quieres una matriz, ¿qué tal un objeto?

var months = {
    'Jan' : '01',
    'Feb' : '02',
    'Mar' : '03',
    'Apr' : '04',
    'May' : '05',
    'Jun' : '06',
    'Jul' : '07',
    'Aug' : '08',
    'Sep' : '09',
    'Oct' : '10',
    'Nov' : '11',
    'Dec' : '12'
}
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *