JavaScript 可以用来创建一个简单的日历。下面是一个基本的示例,展示了如何使用 JavaScript 来生成一个月的日历视图。
Date
对象用于处理日期和时间。以下是一个简单的静态日历示例,它会根据当前日期生成一个月的日历视图。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Simple Calendar</title>
<style>
table { width: 100%; border-collapse: collapse; }
th, td { border: 1px solid #ddd; padding: 8px; text-align: center; }
th { background-color: #f2f2f2; }
</style>
</head>
<body>
<h2 id="calendarMonthYear"></h2>
<table id="calendar">
<thead>
<tr>
<th>Sun</th>
<th>Mon</th>
<th>Tue</th>
<th>Wed</th>
<th>Thu</th>
<th>Fri</th>
<th>Sat</th>
</tr>
</thead>
<tbody id="calendarBody"></tbody>
</table>
<script>
function generateCalendar(year, month) {
const calendarBody = document.getElementById('calendarBody');
calendarBody.innerHTML = ''; // Clear previous calendar
const firstDay = new Date(year, month, 1).getDay();
const daysInMonth = new Date(year, month + 1, 0).getDate();
let date = 1;
for (let i = 0; i < 6; i++) {
const row = document.createElement('tr');
for (let j = 0; j < 7; j++) {
if (i === 0 && j < firstDay || date > daysInMonth) {
const cell = document.createElement('td');
row.appendChild(cell);
} else {
const cell = document.createElement('td');
cell.textContent = date;
date++;
row.appendChild(cell);
}
}
calendarBody.appendChild(row);
if (date > daysInMonth) {
break;
}
}
}
const today = new Date();
const year = today.getFullYear();
const month = today.getMonth();
document.getElementById('calendarMonthYear').textContent = new Date(year, month).toLocaleString('default', { month: 'long', year: 'numeric' });
generateCalendar(year, month);
</script>
</body>
</html>
Date
对象的月份是从 0 开始的(即 0 表示一月)。generateCalendar
函数并传入正确的年份和月份参数。这个示例提供了一个基本的日历框架,你可以根据需要添加更多功能,如切换月份、标记特定日期等。
高校公开课
双11音视频
腾讯云数据湖专题直播
高校公开课
Tencent Serverless Hours 第12期
云+社区沙龙online[数据工匠]
DB-TALK 技术分享会
腾讯云数智驱动中小企业转型升级系列活动
TVP技术夜未眠
企业创新在线学堂
领取专属 10元无门槛券
手把手带您无忧上云