Aar*_*ine 69
为了好玩我做了这个:
function getMonthFromString(mon){
return new Date(Date.parse(mon +" 1, 2012")).getMonth()+1
}
Run Code Online (Sandbox Code Playgroud)
奖励:它还支持完整的月份名称:-D或者只是返回-1的新改进版本 - 如果需要,可以将其更改为抛出异常(而不是返回-1):
function getMonthFromString(mon){
var d = Date.parse(mon + "1, 2012");
if(!isNaN(d)){
return new Date(d).getMonth() + 1;
}
return -1;
}
Run Code Online (Sandbox Code Playgroud)
Sry进行所有编辑 - 超越自我
Ale*_* K. 43
其他方式;
alert( "JanFebMarAprMayJunJulAugSepOctNovDec".indexOf("Jun") / 3 + 1 );
Run Code Online (Sandbox Code Playgroud)
Pau*_* S. 24
如果你不想要一个数组那么对象怎么样?
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'
}
Run Code Online (Sandbox Code Playgroud)
Vik*_*dia 10
还有一种方法可以做到这一点
month1 = month1.toLowerCase();
var months = ["jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec"];
month1 = months.indexOf(month1);
Run Code Online (Sandbox Code Playgroud)
小智 9
对于 2021 年仍在关注这个答案的人来说,toLocaleDateString现在已经得到了广泛的支持
let monthNumberFromString = (str) => {
return new Date(`${str} 01 2000`).toLocaleDateString(`en`, {month:`2-digit`})
}
// monthNumberFromString(`jan`) returns 01
Run Code Online (Sandbox Code Playgroud)
我通常用来做一个功能:
function getMonth(monthStr){
return new Date(monthStr+'-1-01').getMonth()+1
}
Run Code Online (Sandbox Code Playgroud)
称之为:
getMonth('Jan');
getMonth('Feb');
getMonth('Dec');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
87203 次 |
| 最近记录: |