当前位置:首页 > PHP

php实现日历周末变红

2026-02-28 02:32:33PHP

使用PHP实现日历周末日期变红

在PHP中实现日历周末日期变红的功能,可以通过判断日期是否为周六或周日,然后为该日期添加特定的CSS样式。以下是一个完整的实现方法:

创建日历函数

function generateCalendar($year, $month) {
    $firstDay = mktime(0, 0, 0, $month, 1, $year);
    $daysInMonth = date('t', $firstDay);
    $dayOfWeek = date('w', $firstDay);

    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>';

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

    for ($day = 1; $day <= $daysInMonth; $day++) {
        $currentDay = mktime(0, 0, 0, $month, $day, $year);
        $dayOfWeek = date('w', $currentDay);

        $style = '';
        if ($dayOfWeek == 0 || $dayOfWeek == 6) {
            $style = 'style="color: red;"';
        }

        echo "<td $style>$day</td>";

        if ($dayOfWeek == 6) {
            echo '</tr><tr>';
        }
    }

    echo '</tr>';
    echo '</table>';
}

调用日历函数

generateCalendar(date('Y'), date('n'));

使用CSS样式

可以在HTML头部添加CSS样式来控制周末日期的外观:

<style>
    .weekend {
        color: red;
        font-weight: bold;
    }
</style>

然后在PHP代码中使用这个类:

$class = '';
if ($dayOfWeek == 0 || $dayOfWeek == 6) {
    $class = 'class="weekend"';
}
echo "<td $class>$day</td>";

完整示例代码

<?php
function generateCalendar($year, $month) {
    $firstDay = mktime(0, 0, 0, $month, 1, $year);
    $daysInMonth = date('t', $firstDay);
    $dayOfWeek = date('w', $firstDay);

    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>';

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

    for ($day = 1; $day <= $daysInMonth; $day++) {
        $currentDay = mktime(0, 0, 0, $month, $day, $year);
        $dayOfWeek = date('w', $currentDay);

        $style = '';
        if ($dayOfWeek == 0 || $dayOfWeek == 6) {
            $style = 'style="color: red;"';
        }

        echo "<td $style>$day</td>";

        if ($dayOfWeek == 6) {
            echo '</tr><tr>';
        }
    }

    echo '</tr>';
    echo '</table>';
}

generateCalendar(date('Y'), date('n'));
?>

注意事项

  • date('w')函数返回星期几的数字表示,0表示周日,6表示周六
  • mktime()函数用于创建时间戳
  • date('t')返回指定月份的天数
  • 表格布局可以根据需要调整CSS样式
  • 这种方法适用于公历日历,如需其他历法需要相应调整

php实现日历周末变红

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

相关文章

vue怎么实现日历

vue怎么实现日历

实现基础日历布局 使用Vue的模板语法构建日历的HTML结构,通常采用表格形式展示日期。月份切换通过计算属性动态生成日期数组。 <template> <div class…

vue实现日历组件

vue实现日历组件

Vue 日历组件实现步骤 基础结构搭建 使用Vue 3的Composition API或Options API创建组件框架。核心结构包括年份/月份切换按钮、星期标题栏和日期网格。 <tem…

vue实现日历插件

vue实现日历插件

Vue 日历插件实现方案 使用现成组件库 推荐直接使用成熟的 Vue 日历组件,如: V-Calendar:专为 Vue 设计的轻量级日历组件 FullCalendar:功能强大的日历库,有 Vue…

vue日历实现方案

vue日历实现方案

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

用vue实现日历

用vue实现日历

实现基础日历结构 使用Vue构建日历需要先设计基础数据结构。通常需要维护当前年份、月份以及日期数组。可以通过Date对象获取当前月份的天数和起始星期。 data() { return {…

vue实现全年日历功能

vue实现全年日历功能

实现全年日历功能 在Vue中实现全年日历功能,可以通过组合多个月份日历组件或使用第三方库来简化开发。以下是两种常见方法: 使用第三方库(如FullCalendar) 安装FullCalendar…