当前位置:首页 > PHP

php实现日历周末变红

2026-02-28 02:32:33PHP

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

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

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

使用CSS样式

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

php实现日历周末变红

<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样式
  • 这种方法适用于公历日历,如需其他历法需要相应调整

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

相关文章

vue实现全年日历功能

vue实现全年日历功能

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

css日历制作

css日历制作

CSS日历制作方法 使用HTML和CSS创建一个简单的日历布局,可以通过以下方式实现: HTML结构 <div class="calendar"> <div class="m…

php实现日历

php实现日历

PHP 实现日历的方法 PHP 可以用于生成动态日历,以下是几种常见的实现方式: 使用 date 和 mktime 函数 通过 PHP 内置的日期和时间函数,可以计算月份的天数和起始星期几。…

js实现日历控件

js实现日历控件

实现日历控件的基本思路 日历控件通常需要展示一个月的日期表格,并允许用户选择日期。核心功能包括日期渲染、导航(上一月/下一月)和日期选择。 基础HTML结构 创建一个简单的HTML结构,包含日历容器…

js日历案例实现

js日历案例实现

实现基础日历功能 日历功能可以通过JavaScript结合HTML和CSS实现,核心是动态生成日期表格。以下代码展示了一个基础的日历生成器: function generateCalendar(ye…

uniapp仿钉钉日历

uniapp仿钉钉日历

uniapp仿钉钉日历实现方法 日历组件选择 使用uni-app的uni-calendar组件作为基础,钉钉日历的核心功能包括月视图切换、日程标记和点击事件。需自定义样式和功能扩展以满足仿钉钉需求。…