Javascript 将月份编号更改为月份名称

Javascript 将月份编号更改为月份名称,javascript,arrays,Javascript,Arrays,我有这样一个字符串:2017-12-01 08:44:49,我只想从字符串中获取月份的名称 我所做的: var myMonth = '2017-12-01 08:44:49'; var str = myMonth.substring(5,7); var months = [ 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', '

我有这样一个字符串:
2017-12-01 08:44:49
,我只想从字符串中获取月份的名称

我所做的:

var myMonth = '2017-12-01 08:44:49';
var str = myMonth.substring(5,7);

var months = [
    'January', 'February', 'March', 'April', 'May',
    'June', 'July', 'August', 'September',
    'October', 'November', 'December'
];

我不知道如何将该值(即12)赋予月份(我不想创建12个if条件)。

您可以将月份名称设置为
months[str-1]
,因为数组索引从
0
length-1
var myMonth='2017-12-01 08:44:49';
var str=myMonth.substring(5,7);
风险值月份=[
‘一月’、‘二月’、‘三月’、‘四月’、‘五月’,
‘六月’、‘七月’、‘八月’、‘九月’,
“十月”、“十一月”、“十二月”
];

控制台日志(月[str-1])使用ECMAScript国际化API尝试以下操作:

var myMonth='2017-12-01 08:44:49';
var myDate=新日期(myMonth);
var month=myDate.tolocalString(“en-us”,{month:“long”});

console.log(month)
最好首先从日期字符串(
myMonth
)获取日期对象:

然后获取月份编号(0-11):


months[str-1]
-数组是0索引,因此12将返回
未定义的
。当date是一个带有日期数组的变量,并且我希望获得一个新数组,例如['一月'、'五月'、'四月']
var myMonth = '2017-12-01 08:44:49';
var aDate = new Date(myMonth.substr(0, 'yyyy-mm-dd'.length)); // 2017-12-01
var monthNumber = aDate.getMonth();

console.log(months[monthNumber]); // December