只想将Jan 转换为01(日期格式)
我可以使用array()
但正在寻找另一种方式...
有什么建议吗?
只想将Jan 转换为01(日期格式)
我可以使用array()
但正在寻找另一种方式...
有什么建议吗?
只是为了好玩,我这样做了:
function getMonthFromString(mon){
return new Date(Date.parse(mon +" 1, 2012")).getMonth()+1
}
奖励:它还支持完整的月份名称 :-D 或者新的改进版本,它只返回 -1 - 如果需要,将其更改为抛出异常(而不是返回 -1):
function getMonthFromString(mon){
var d = Date.parse(mon + "1, 2012");
if(!isNaN(d)){
return new Date(d).getMonth() + 1;
}
return -1;
}
Sry 所有的编辑 - 超越自己
其他方式;
alert( "JanFebMarAprMayJunJulAugSepOctNovDec".indexOf("Jun") / 3 + 1 );
如果你不想要一个数组,那么一个对象呢?
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'
}
另一种方法来做同样的事情
month1 = month1.toLowerCase();
var months = ["jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec"];
month1 = months.indexOf(month1);
如果您使用的是 moment.js:
moment().month("Jan").format("M");