当前位置:首页 > PHP

php实现日历周末变红

2026-04-03 11:27:09PHP

实现日历周末变红的方法

在PHP中实现日历并将周末日期显示为红色,可以通过以下步骤完成。这里提供一个完整的代码示例,展示如何生成一个月的日历,并将周六和周日标记为红色。

获取当前月份的第一天和最后一天

使用date函数获取当前月份的第一天和最后一天,以便确定日历的范围。

$firstDayOfMonth = date('Y-m-01');
$lastDayOfMonth = date('Y-m-t');
$totalDays = date('t', strtotime($firstDayOfMonth));

生成日历表格

创建一个HTML表格,遍历当前月份的所有天数,并检查每一天是否为周末(周六或周日)。

echo '<table border="1">';
echo '<tr><th>Sun</th><th>Mon</th><th>Tue</th><th>Wed</th><th>Thu</th><th>Fri</th><th>Sat</th></tr>';

$currentDay = 1;
$firstDayOfWeek = date('w', strtotime($firstDayOfMonth));

echo '<tr>';
for ($i = 0; $i < $firstDayOfWeek; $i++) {
    echo '<td></td>';
}

for ($i = $firstDayOfWeek; $i < 7; $i++) {
    $dayOfWeek = date('w', strtotime("$firstDayOfMonth + " . ($currentDay - 1) . " days"));
    $style = ($dayOfWeek == 0 || $dayOfWeek == 6) ? 'color: red;' : '';
    echo "<td style='$style'>$currentDay</td>";
    $currentDay++;
}
echo '</tr>';

while ($currentDay <= $totalDays) {
    echo '<tr>';
    for ($i = 0; $i < 7 && $currentDay <= $totalDays; $i++) {
        $dayOfWeek = date('w', strtotime("$firstDayOfMonth + " . ($currentDay - 1) . " days"));
        $style = ($dayOfWeek == 0 || $dayOfWeek == 6) ? 'color: red;' : '';
        echo "<td style='$style'>$currentDay</td>";
        $currentDay++;
    }
    echo '</tr>';
}
echo '</table>';

完整代码示例

以下是完整的PHP代码,生成一个月的日历并将周末日期显示为红色。

php实现日历周末变红

<?php
$firstDayOfMonth = date('Y-m-01');
$lastDayOfMonth = date('Y-m-t');
$totalDays = date('t', strtotime($firstDayOfMonth));

echo '<table border="1">';
echo '<tr><th>Sun</th><th>Mon</th><th>Tue</th><th>Wed</th><th>Thu</th><th>Fri</th><th>Sat</th></tr>';

$currentDay = 1;
$firstDayOfWeek = date('w', strtotime($firstDayOfMonth));

echo '<tr>';
for ($i = 0; $i < $firstDayOfWeek; $i++) {
    echo '<td></td>';
}

for ($i = $firstDayOfWeek; $i < 7; $i++) {
    $dayOfWeek = date('w', strtotime("$firstDayOfMonth + " . ($currentDay - 1) . " days"));
    $style = ($dayOfWeek == 0 || $dayOfWeek == 6) ? 'color: red;' : '';
    echo "<td style='$style'>$currentDay</td>";
    $currentDay++;
}
echo '</tr>';

while ($currentDay <= $totalDays) {
    echo '<tr>';
    for ($i = 0; $i < 7 && $currentDay <= $totalDays; $i++) {
        $dayOfWeek = date('w', strtotime("$firstDayOfMonth + " . ($currentDay - 1) . " days"));
        $style = ($dayOfWeek == 0 || $dayOfWeek == 6) ? 'color: red;' : '';
        echo "<td style='$style'>$currentDay</td>";
        $currentDay++;
    }
    echo '</tr>';
}
echo '</table>';
?>

代码说明

  1. 获取月份信息:使用date('Y-m-01')获取当前月份的第一天,date('Y-m-t')获取最后一天,date('t')获取月份的总天数。
  2. 生成表格:创建一个HTML表格,表头为周日到周六。
  3. 填充日期:根据月份的第一天是星期几,填充空白单元格。随后填充日期,并检查是否为周末(周日为0,周六为6),如果是则应用红色样式。

通过以上方法,可以轻松实现一个PHP日历,并将周末日期显示为红色。

标签: 变红日历
分享给朋友:

相关文章

vue日历实现方案

vue日历实现方案

vue日历实现方案 基于第三方库(如FullCalendar) 安装FullCalendar及其Vue适配器: npm install @fullcalendar/vue @fullcalendar…

vue如何实现日历

vue如何实现日历

使用第三方库(如 FullCalendar) FullCalendar 是一个功能强大的日历库,支持 Vue 集成。安装依赖后,通过组件的方式引入日历功能。配置事件、日期范围和交互逻辑可以通过 pro…

vue3实现日历

vue3实现日历

Vue3 日历组件实现方法 基础日历结构 使用Vue3的Composition API可以快速构建日历核心逻辑。以下代码展示如何生成当月日历网格: <script setup> impo…

vue实现钉钉日历

vue实现钉钉日历

使用 Vue 实现钉钉日历功能 安装依赖 需要安装 v-calendar 或 fullcalendar-vue 等日历库。以 v-calendar 为例: npm install v-calenda…

react实现日历插件

react实现日历插件

实现日历插件的核心步骤 安装依赖 使用react-datepicker或@mui/x-date-pickers等现成库快速实现日历功能。例如: npm install react-datepicke…

制作日历css

制作日历css

基础日历结构 使用HTML创建日历的基本框架,包含月份、星期和日期格子。以下是一个简单的HTML结构示例: <div class="calendar"> <div class=…