PHP获取日历值,分享3个php获取日历的函数

这段代码展示了如何使用PHP获取指定日期所在月份的日历列表,包括星期对应日期的二维数组,以及获取指定日期的月份开始和结束日期。还包含了获取当前星期、上星期和上上星期的日期范围的函数。此外,提供了根据日期获取昨天、本星期、上星期、上上星期和本月日期范围的实用函数。
摘要由CSDN通过智能技术生成

提供一个日期,获取这个日期的星期对应日历列表,键为星期标示

$month_date='2015-09-25';

$start_time=strtotime($month_date);

$start_week=date('w',$start_time);

$total_month_day=date('t',$start_time);

$weeks_in_month=ceil(($start_week+$total_month_day)/7);

$month_day_arr=[];

$start_month_day=1;

for($i=0;$i

for($j=0;$j<7;$j++){

if($i==0&&$j>=$start_week){

$month_day_arr[$i][$j]=$start_month_day;

$start_month_day++;

}elseif($i==0){

$month_day_arr[$i][$j]='';

}else{

$month_day_arr[$i][$j]=$start_month_day;

$start_month_day++;

}

if($start_month_day>$total_month_day){

break;

}

}

}

echo"

";

print_r($month_day_arr);

Array

(

[0]=>Array

(

[0]=>

[1]=>

[2]=>1

[3]=>2

[4]=>3

[5]=>4

[6]=>5

)

[1]=>Array

(

[0]=>6

[1]=>7

[2]=>8

[3]=>9

[4]=>10

[5]=>11

[6]=>12

)

[2]=>Array

(

[0]=>13

[1]=>14

[2]=>15

[3]=>16

[4]=>17

[5]=>18

[6]=>19

)

[3]=>Array

(

[0]=>20

[1]=>21

[2]=>22

[3]=>23

[4]=>24

[5]=>25

[6]=>26

)

[4]=>Array

(

[0]=>27

[1]=>28

[2]=>29

[3]=>30

)

)

获取指定日期所在月的开始日期与结束日期

/**

*@paramstring$date

*@paramboolean为true返回开始日期,否则返回结束日期

*@returnarray

*@accessprivate

*/

privatefunctiongetMonthRange($date,$returnFirstDay=true){

$timestamp=strtotime($date);

if($returnFirstDay){

$monthFirstDay=date('Y-m-100:00:00',$timestamp);

return$monthFirstDay;

}else{

$mdays=date('t',$timestamp);

$monthLastDay=date('Y-m-'.$mdays.'23:59:59',$timestamp);

return$monthLastDay;

}

}

获取当前星期的日期范围,也就是从星期一到星期日的日期范围。

functiongetWeekRange($date){

$ret=array();

$timestamp=strtotime($date);

$w=strftime('%u',$timestamp);

$ret['sdate']=date('Y-m-d00:00:00',$timestamp-($w-1)*86400);

$ret['edate']=date('Y-m-d23:59:59',$timestamp+(7-$w)*86400);

return$ret;

}

//author:zhxia获取指定日期所在月的开始日期与结束日期

functiongetMonthRange($date){

$ret=array();

$timestamp=strtotime($date);

$mdays=date('t',$timestamp);

$ret['sdate']=date('Y-m-100:00:00',$timestamp);

$ret['edate']=date('Y-m-'.$mdays.'23:59:59',$timestamp);

return$ret;

}

//author:zhxia以上两个函数的应用

functiongetFilter($n){

$ret=array();

switch($n){

case1://昨天

$ret['sdate']=date('Y-m-d00:00:00',strtotime('-1day'));

$ret['edate']=date('Y-m-d23:59:59',strtotime('-1day'));

break;

case2://本星期

$ret=getWeekRange(date('Y-m-d'));

break;

case3://上一个星期

$strDate=date('Y-m-d',strtotime('-1week'));

$ret=getWeekRange($strDate);

break;

case4://上上星期

$strDate=date('Y-m-d',strtotime('-2week'));

$ret=getWeekRange($strDate);

break;

case5://本月

$ret=getMonthRange(date('Y-m-d'));

break;

case6://上月

$strDate=date('Y-m-d',strtotime('-1month'));

$ret=getMonthRange($strDate);

break;

}

return$ret;

}

您可能感兴趣的文章:php+javascript的日历控件用php编写的日历php下实现农历日历的代码教大家制作简单的php日历php+mysql+jquery实现日历签到功能PHP完整的日历类(CLASS)PHP输出日历表代码实例PHP实现的简单日历类基于ThinkPHP实现的日历功能实例详解php实现的日历程序PHP实现的日历功能示例

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值