计算遍历出当前月份的所有日期,常用于日历展示或者日期列表展示:
// 获取当前月份的所有日期
function getCurrentMonthDates() {
var currentDate = new Date()
var year = currentDate.getFullYear()
var month = currentDate.getMonth()
var numDays = new Date(year, month + 1, 0).getDate()
var today = currentDate.getDate()
var dates = []
for (var day = 1; day <= numDays; day++) {
var date = new Date(year, month, day)
var formattedDate = this.formatToUpperCaseDate(date)
dates.push({
date: today === day ? 'Today' : formattedDate,
isToday: today === day,
isCheck: day === 1 // false
})
}
return {
dates: dates,
today: today
}
}
// 格式化日期
function formatToUpperCaseDate(date) {
var day = date.getDate()
var monthNames = [
"Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
]
var month = monthNames[date.getMonth()]
return day + " " + month
}
console.log(getCurrentMonthDates())
运行方法得出的结果: