https://jsfiddle.net/prd9Lz18/11
3月返回两次。有人知道为什么吗?我现在正在使用其他解决方案(带有月名称的数组),但是我很好奇为什么会这样,而且我觉得这还没有结束。
let date = new Date();
let month = date.getMonth();
let options = { month: "long" };
for (let i = 0; i < 12; i++) {
if (month === 12) {
month = 0;
}
date.setMonth(month);
let monthName = new Intl.DateTimeFormat("en-US", options).format(date);
console.log((month + 1) + " " + monthName);
month++;
}
答案 0 :(得分:1)
使用dayValue
中的setMonth()
选项(代表月中的某天)
dateObj.setMonth(monthValue[, dayValue])
let date = new Date();
let month = date.getMonth();
let options = { month: "long" };
for (let i = 0; i < 12; i++) {
if (month === 12) {
month = 0;
}
date.setMonth(month, 1); // dayValue - 1
let monthName = new Intl.DateTimeFormat("en-US", options).format(date);
console.log((month + 1) + " " + monthName);
month++;
}