php 获取当月日历,php 获得某月的日历

这段代码提供了两个PHP函数:getCal()用于获取指定年月的日历数组,createCal()用于根据数组生成日历表格。通过当前日期或者用户输入的年份和月份,函数可以动态生成日历,并支持高亮显示当前日期。输出的日历表格可以直接在网页中展示。
摘要由CSDN通过智能技术生成

//获得日历数组

function getCal($y = 0, $m = 0) {

if (!$m || !$y) {

$days = date("t");

$m = date("n");

$y = date("Y");

} else {

$days = date("t", strtotime("$y-$m-1"));

}

$cal = array(array('日', '一', '二', '三', '四', '五', '六'));

$o_week = array(0 => "", 1 => "", 2 => "", 3 => "", 4 => "", 5 => "", 6 => "");

$week = array(0 => "", 1 => "", 2 => "", 3 => "", 4 => "", 5 => "", 6 => "");

$tody = date('j');

for ($j = 1; $j <= $days; $j++) {

$w = date('w', strtotime("$y-$m-$j"));

$week[$w] = $j;

if ($w == 6 || $j == $days) {

$cal[] = $week;

$week = $o_week;

}

}

return $cal;

}

//生产日历表格

function createCal($calName = "cal", $return = false) {

$y = isset($_REQUEST['y']) ? $_REQUEST['y'] : date("Y");

$m = isset($_REQUEST['m']) ? $_REQUEST['m'] : date("n");

$calName = isset($_REQUEST['cn']) ? $_REQUEST['cn'] : $calName;

$j = date("j");

$cal = getCal($y, $m);

$calstr = "";

$tdi = '

%s';

$td = '

%s';

foreach ($cal as $k => $w) {

$calstr .= "

";

foreach ($w as $d) {

if ($d && $k != 0

&& strtotime("$y-$m-$d") >= strtotime(date("Y-n-j"))) {

$clss = (strtotime("$y-$m-$d") == strtotime(date("Y-n-j"))) ? "now"

: "";

$calstr .= sprintf($tdi, $clss, $calName, $d, $d, $d);

} else {

$calstr .= sprintf($td, $d);

}

}

$calstr .= "

";

}

if ($return) {

return $calstr;

} else {

die($calstr);

}

}

echo createCal();

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值