月值始终打印错误

时间:2016-08-31 22:07:12

标签: javascript

我收到的字符串为"Mar, 2016"。我想在month中找到number。我得到奇怪/错误的结果。

var months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun","Jul",
                 "Aug", "Sept", "Oct", "Nov", "Dec"];

new Date(str.split(", ")[1], months.indexOf(str.split(", ")[0]) + 1, new Date().getDate());

为什么以上代码会打印我... April而不是March

Fri Apr 01 2016 00:00:00

2 个答案:

答案 0 :(得分:2)

months.indexOf(str.split(", ")[0]) + 1不正确。月份为0索引。保留为months.indexOf(str.split(", ")[0])

答案 1 :(得分:1)

因为您正在添加1

new Date(str.split(", ")[1], months.indexOf(str.split(", ")[0]) + 1, new Date().getDate());

将其删除

new Date(str.split(", ")[1], months.indexOf(str.split(", ")[0]), new Date().getDate());

你会没事的