其实很简单
如果是根据已有的时间来判断
<?php
$time = '2022年5月';
$mtime = strtotime($time);
$res = date("t", $mtime);
echo $res;
或者根据时间戳
$res = date("t", time());
echo $res;
获取当月信息
<?php
//当月的第一天
$firstDate = date('Y-m-01', time());
//当月的最后一天
$lastDate = date('Y-m-d', strtotime("$firstDate + 1 month -1 day"));
下面其实就是水文
php 当天来时时间和当天结束时间
<?php
//当天开始时间
$start_time=strtotime(date("Y-m-d",time()));
//当天结束之间
$end_time=$start_time+60*60*24;
echo $start_time; //1654099200
echo "<br />";
echo $end_time; //1654185600
$start_time=date("Y-m-d H:i:s",$start_time);
$end_time=date("Y-m-d H:i:s",$end_time);
echo $start_time; //1654099200//2022-06-02 00:00:00
echo "<br />";
echo $end_time; //1654185600//2022-06-03 00:00:00
一周的开始和结束时间
<?php
//一周的开始和结束时间
//当前日期
$nowdate = date("Y-m-d");
//每周星期一为开始日期 0表示每周日为开始日期
$first=1;
//获取当前周的第几天 周日是 0 周一到周六是 1 - 6
$w=date('w',strtotime($nowdate));
//获取本周开始日期,如果$w是0,则表示周日,减去 6 天
$week_start=date('Y-m-d',strtotime("$nowdate -".($w ? $w - $first : 6).' days'));
//本周结束日期
$week_end=date('Y-m-d',strtotime("$week_start +6 days"));
echo "$week_start"." -- "."$week_end";
//2022-05-30 -- 2022-06-05
上个月的开始日期 \ 结束日期
<?php
//上个月的开始结束时间
$m = date('Y-m-d', mktime(0,0,0,date('m')-1,1,date('Y'))); //上个月的开始日期
$t=date('t',strtotime($m));
//上个月的开始日期
$start = date('Y-m-d', mktime(0,0,0,date('m')-1,1,date('Y')));
//上个月的结束日期
$end = date('Y-m-d', mktime(0,0,0,date('m')-1,$t,date('Y')));
echo "当前时间:" . date("Y-m-d"); //当前时间:2022-06-02
echo "\r\n";
echo $start; // 2022-05-01
echo "\r\n";
echo $end; //2022-05-31