我想用php生成一段日历的html代码,而且这个日历是可以指定年份自动生成的,网上的代码都过于臃肿,要不就是搞了一个Class来生成,要不就是有一些我不要的功能。
请问有没有精简一点的方法来生成我要的日历呢,就像下面这种
<?php
$year = '2013';
$months = array( 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'June', 'July', 'Aug', 'Sept', 'Oct', 'Nov', 'Dec' );
$days = array( 31,
(strtotime("1 Mar ".$year) - strtotime("1 Feb ".$year)) / ( 24 * 60 * 60 ),
31, 30, 31, 30, 31, 31, 30, 31, 30, 31 );
$wday = array( '', '', '', '', '', '', '' );
$cal = array();
foreach(range(0, 11) as $i) {
$firstday = getdate(strtotime('1 '.$months[$i].' '.$year));
$fromday = $firstday['wday'];
$leftday = 7 - ( $fromday + $days[$i] ) % 7;
$cal[] = array_merge( array_slice($wday, 0, $fromday),
range(1, $days[$i]),
array_slice($wday, 0, $leftday)
);
}
?>
<?php foreach(range(0, 11) as $i) : ?>
<table>
<thead>
<tr><th colspan="7"><?php echo $months[$i].' '.$year; ?></th></tr>
<tr><th>Sun</th><th>Mon</th><th>Tue</th><th>Wed</th><th>Thu</th><th>Fri</th><th>Sat</th>
</thead>
<tbody>
<tr>
<?php
foreach($cal[$i] as $k => $v) {
if($k && !($k % 7)) echo "</tr><tr>";
echo "<td>{$v}</td>";
}
?>
</tr>
</tbody>
</table>
<?php endforeach ?>
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。