PHP编写月历函数,返回月历字符串。 相关知识 根据年月创建日期对象 $d = new DateTime('2022-10') 获取日期对象月份的天数 $d->format('t') 获取日期对象 1日是星期几 $d->format('N') (1-星期一、...、7-星期日) 编程要求 函数名称: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 22:05:06 浏览: 86
以下是PHP编写的月历函数:
```php
function calendar($year, $month) {
// 创建日期对象
$d = new DateTime("$year-$month");
// 获取该月天数
$days_in_month = $d->format('t');
// 获取该月第一天是星期几
$first_day_of_month = $d->format('N');
// 输出月历表头
$output = "$year 年 $month 月\n一 二 三 四 五 六 日\n";
// 输出第一行空白
$output .= str_repeat(' ', $first_day_of_month - 1);
// 输出日期
for ($day = 1; $day <= $days_in_month; $day++) {
// 当到达周日时换行
if (($day + $first_day_of_month - 1) % 7 == 0) {
$output .= "\n";
}
// 格式化日期,每个格子宽度为 3
$output .= sprintf('%2d ', $day);
}
// 输出末尾空白
$output .= str_repeat(' ', (7 - (($days_in_month + $first_day_of_month - 1) % 7)) % 7);
// 返回月历字符串
return $output;
}
```
调用 `calendar(2022, 10)` 函数将返回对应的月历字符串:
```
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
```
阅读全文