php语言编写月历函数,返回月历字符串。 函数名称:calendar 两个参数:year及month 返回多行字符串示例: 注意行号不属于字符串的内容。 2022 年 10 月 一 二 三 四 五 六 日 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
时间: 2023-12-27 18:04:49 浏览: 92
以下是一个简单的 PHP 函数 `calendar`,可以输出指定年份和月份的月历字符串:
```php
function calendar($year, $month) {
// 计算当前月份的天数和第一天是星期几
$num_days = cal_days_in_month(CAL_GREGORIAN, $month, $year);
$first_day = date('w', strtotime("$year-$month-1"));
// 输出月历标题
$title = sprintf("%d 年 %d 月", $year, $month);
$header = str_pad($title, 21, " ", STR_PAD_BOTH) . "\n";
$divider = str_repeat("-", 21) . "\n";
// 输出星期几的标头
$weekdays = array("一", "二", "三", "四", "五", "六", "日");
$weekday_header = implode(" ", $weekdays) . " ";
$weekday_header = str_pad($weekday_header, 21, " ", STR_PAD_BOTH) . "\n";
// 输出日期
$output = $header . $divider . $weekday_header . $divider;
$day = 1;
$col = 0;
while ($day <= $num_days) {
if ($col == 0) {
$output .= " ";
}
// 输出日期或空格
if ($col < $first_day || $day > $num_days) {
$output .= str_pad(" ", 3);
} else {
$output .= str_pad($day, 3, " ", STR_PAD_LEFT);
$day++;
}
$col++;
// 换行
if ($col == 7) {
$output .= "\n";
$col = 0;
}
}
// 输出一个空行
$output .= "\n";
return $output;
}
```
该函数使用 PHP 的 `cal_days_in_month` 函数计算指定年份和月份的天数,使用 `date` 函数计算第一天是星期几,然后输出月历字符串。
阅读全文