只想将 Jan 转换为 01 (日期格式)
我可以使用array()
但寻找另一种方式......
有什么建议吗?
答案 0 :(得分:62)
为了好玩,我这样做了:
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进行所有编辑 - 超越自己
答案 1 :(得分:41)
另一种方式;
alert( "JanFebMarAprMayJunJulAugSepOctNovDec".indexOf("Jun") / 3 + 1 );
答案 2 :(得分:23)
如果你不想要一个数组那么对象呢?
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'
}
答案 3 :(得分:6)
我通常用来做一个功能:
function getMonth(monthStr){
return new Date(monthStr+'-1-01').getMonth()+1
}
并称之为:
getMonth('Jan');
getMonth('Feb');
getMonth('Dec');
答案 4 :(得分:6)
另一种做同样的方法
month1 = month1.toLowerCase();
var months = ["jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec"];
month1 = months.indexOf(month1);
答案 5 :(得分:6)
如果您使用的是moment.js:
moment().month("Jan").format("M");
答案 6 :(得分:2)
var monthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
然后只需调用monthNames [1] 这将是2月
所以你总能做出像
这样的事情 monthNumber = "5";
jQuery('#element').text(monthNames[monthNumber])
答案 7 :(得分:2)
VehicleNo
答案 8 :(得分:2)
对于 2021 年仍在关注此答案的任何人来说,toLocaleDateString
现在得到了广泛的支持
let monthNumberFromString = (str) => {
return new Date(`${str} 01 2000`).toLocaleDateString(`en`, {month:`2-digit`})
}
// monthNumberFromString(`jan`) returns 01
答案 9 :(得分:1)
这是另一种方式:
// Months are in Spanish
var currentMonth = 1
var months = ["ENE", "FEB", "MAR", "APR", "MAY", "JUN",
"JUL", "AGO", "SEP", "OCT", "NOV", "DIC"];
console.log(months[currentMonth - 1]);
答案 10 :(得分:1)
以下是所选答案的修改版本:
getMonth("Feb")
function getMonth(month) {
d = new Date().toString().split(" ")
d[1] = month
d = new Date(d.join(' ')).getMonth()+1
if(!isNaN(d)) {
return d
}
return -1;
}
答案 11 :(得分:0)
这是一个简单的班轮功能
//ECHMA5
function GetMonth(anyDate) {
return 'Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec'.split(',')[anyDate.getMonth()];
}
//
// ECMA6
var GetMonth = (anyDate) => 'Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec'.split(',')[anyDate.getMonth()];