100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > php取月份函数 分享3个php获取日历的函数

php取月份函数 分享3个php获取日历的函数

时间:2019-08-26 02:08:47

相关推荐

php取月份函数 分享3个php获取日历的函数

本文给大家汇总了3个php获取日历的函数,分别是php获取指定日期的月份的日历、获取指定日期所在月的开始日期与结束日期、获取当前星期的日期范围,都是比较常用的方法,有需要的小伙伴可以参考下。

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

$month_date = '-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

)

)

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

/**

* @param string $date

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

* @return array

* @access private

*/

private function getMonthRange( $date, $returnFirstDay = true ) {

$timestamp = strtotime( $date );

if ( $returnFirstDay ) {

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

return $monthFirstDay;

} else {

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

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

return $monthLastDay;

}

}

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

function getWeekRange($date){

$ret=array();

$timestamp=strtotime($date);

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

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

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

return $ret;

}

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

function getMonthRange($date){

$ret=array();

$timestamp=strtotime($date);

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

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

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

return $ret;

}

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

function getFilter($n){

$ret=array();

switch($n){

case 1:// 昨天

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

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

break;

case 2://本星期

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

break;

case 3://上一个星期

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

$ret=getWeekRange($strDate);

break;

case 4: //上上星期

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

$ret=getWeekRange($strDate);

break;

case 5: //本月

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

break;

case 6://上月

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

$ret=getMonthRange($strDate);

break;

}

return $ret;

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。