当前位置:首页 > 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 日历组件实现步骤 基础结构搭建 使用Vue 3的Composition API或Options API创建组件框架。核心结构包括年份/月份切换按钮、星期标题栏和日期网格。 <templ…

vue实现日历效果

vue实现日历效果

Vue实现日历效果的方法 使用第三方库 Vue生态中有多个成熟的日历组件库,如v-calendar或vue2-calendar,可以快速实现日历功能。安装后直接引入组件即可使用。 npm i…

php 实现日历

php 实现日历

使用 PHP 实现日历 基础日历实现 PHP 可以通过日期函数和循环结构实现一个简单的日历。以下是一个基础示例: <?php function generateCalendar($year,…

php实现日历

php实现日历

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

js日历案例实现

js日历案例实现

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

vue日历表格实现

vue日历表格实现

Vue 日历表格实现方法 基础日历表格结构 使用 Vue 的模板语法构建日历表格框架,通过 v-for 循环生成日期格子。核心是计算当前月份的天数及起始星期位置。 <template>…