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)