PHP获取当前日期所在星期(月份)的开始日期与结束日期(实现代码)

PHP获取当前日期所在星期(月份)的开始日期与结束日期(实现代码),第1张

代码如下:

// 获取指定日期所在星期的开始时间与结束时间

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;

}

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

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;

}

// 以上两个函数的应用

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;

}

/

获取指定月份的第一天开始和最后一天结束的时间戳

@param int $y 年份 $m 月份

@return array(本月开始时间,本月结束时间)

/

function mFristAndLast($y="",$m=""){

if($y=="") $y=date("Y");

if($m=="") $m=date("m");

$m=sprintf("%02d",intval($m));

$y=str_pad(intval($y),4,"0",STR_PAD_RIGHT);

$m>12||$m<1$m=1:$m=$m;

$firstday=strtotime($y$m"01000000");

$firstdaystr=date("Y-m-01",$firstday);

$lastday = strtotime(date('Y-m-d 23:59:59', strtotime("$firstdaystr +1 month -1 day")));

return array("firstday"=>$firstday,"lastday"=>$lastday);

}

<php

$d=getdate();

$thismonth=$d['mon'];

$lastmonth=$thismonth-1;

if($lastmonth==0)

{

$lastmonth=12;

}

echo("上个月是:"

>

7月31日上一个月是 6月31日。因为没有6-31,所以换算成6-30的第二天,即7-1

上两个月是5月31日,没有错误

如果是上3个月,即4月31日,同理,因为没有4-31,所以换算成5-1

如果你希望上一个月指的是上个月1号,建议自定义一个函数。

function last_month($time) {

$y = date('Y',$time);

$m = date('m',$time);

if ($m>1) {

$m -= 1;

} else {

$m = 12;

$y -= 1;

}

$time = strtotime("$y - $m - 1");

return $time;

}

以上就是关于PHP获取当前日期所在星期(月份)的开始日期与结束日期(实现代码)全部的内容,包括:PHP获取当前日期所在星期(月份)的开始日期与结束日期(实现代码)、php获取当年的每个月的第一天和最后一天时间戳的函数、php计算上个月是几月份等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9487403.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存