您好,欢迎访问一九零五行业门户网

php获取一些时间的实现方法实践

本篇文章给大家分享的内容是关于php获取一些时间的实现方法实践,有着一定的参考价值,有需要的朋友可以参考一下
这几天在开发的时候遇到的一些时间上的问题,整理了一下,分享给大家,可以看看,有需要的话可以利用一下。
1.获取上个月第一天及最后一天.
echo date('y-m-01', strtotime('-1 month')); echo "<br/>"; echo date('y-m-t', strtotime('-1 month')); echo "<br/>";

上面的方法有些问题,做下修改:
 上个月第一天:
echo date('y-m-d', strtotime(date('y-m-01') . ' -1 month')); // 计算出本月第一天再减一个月
上个月最后一天:
echo date('y-m-d', strtotime(date('y-m-01') . ' -1 day')); // 计算出本月第一天再减一天
2.获取当月第一天及最后一天.
$begindate=date('y-m-01', strtotime(date("y-m-d"))); echo $begindate; echo "<br/>"; echo date('y-m-d', strtotime("$begindate +1 month -1 day")); echo "<br/>";

3.获取当天年份、月份、日及天数.
echo " 本月共有:".date("t")."天"; echo " 当前年份".date('y'); echo " 当前月份".date('m'); echo " 当前几号".date('d'); echo "<br/>";
4.使用函数及数组来获取当月第一天及最后一天,比较实用
function getthemonth($date){ $firstday = date('y-m-01', strtotime($date)); $lastday = date('y-m-d', strtotime("$firstday +1 month -1 day")); return array($firstday,$lastday); } $today = date("y-m-d"); $day=getthemonth($today); echo "当月的第一天: ".$day[0]." 当月的最后一天: ".$day[1]; echo "<br/>";
获取本月日期:
function getmonth($date){ $firstday = date("y-m-01",strtotime($date)); $lastday = date("y-m-d",strtotime("$firstday +1 month -1 day")); return array($firstday,$lastday); }

$firstday是月份的第一天,假如$date是2018-2这样的话,$firstday就会是2018-02-01,然后根据$firstday加一个月就是2018-03-01,再减一天就是2018-02-28,用date()和strtotime()真是太方便了。
获取上月日期:
function getlastmonthdays($date){ $timestamp=strtotime($date); $firstday=date('y-m-01',strtotime(date('y',$timestamp).'-'.(date('m',$timestamp)-1).'-01')); $lastday=date('y-m-d',strtotime("$firstday +1 month -1 day")); return array($firstday,$lastday); }
上月日期需要先获取一个时间戳,然后在月份上-1就ok了,超智能的date()会把2018-0-1这种东西转换成2017-12-01,太爽了。
 获取下月日期:
function getnextmonthdays($date){ $timestamp=strtotime($date); $arr=getdate($timestamp); if($arr['mon'] == 12){ $year=$arr['year'] +1; $month=$arr['mon'] -11; $firstday=$year.'-0'.$month.'-01'; $lastday=date('y-m-d',strtotime("$firstday +1 month -1 day")); }else{ $firstday=date('y-m-01',strtotime(date('y',$timestamp).'-'.(date('m',$timestamp)+1).'-01')); $lastday=date('y-m-d',strtotime("$firstday +1 month -1 day")); } return array($firstday,$lastday); }
下月日期的代码看起来比较长一点,因为date()转不了类似2018-13-01这种东西,它会直接回到1970,所以前面需要处理一下12月的问题,除了12月就直接月份+1就ok啦。
总得来说,日期函数太强大了。
这几天在开发的时候遇到的一些时间上的问题,整理了一下,分享给大家,可以看看,有需要的话可以利用一下。
1.获取上个月第一天及最后一天.
echo date('y-m-01', strtotime('-1 month')); echo "<br/>"; echo date('y-m-t', strtotime('-1 month')); echo "<br/>";

上面的方法有些问题,做下修改:
 上个月第一天:
echo date('y-m-d', strtotime(date('y-m-01') . ' -1 month'));// 计算出本月第一天再减一个月
上个月最后一天:
echo date('y-m-d', strtotime(date('y-m-01') . ' -1 day')); // 计算出本月第一天再减一天
2.获取当月第一天及最后一天.
$begindate=date('y-m-01', strtotime(date("y-m-d"))); echo $begindate; echo "<br/>"; echo date('y-m-d', strtotime("$begindate +1 month -1 day")); echo "<br/>";

3.获取当天年份、月份、日及天数.
echo " 本月共有:".date("t")."天"; echo " 当前年份".date('y'); echo " 当前月份".date('m'); echo " 当前几号".date('d'); echo "<br/>";
4.使用函数及数组来获取当月第一天及最后一天,比较实用
function getthemonth($date){ $firstday = date('y-m-01', strtotime($date)); $lastday = date('y-m-d', strtotime("$firstday +1 month -1 day")); return array($firstday,$lastday); } $today = date("y-m-d"); $day=getthemonth($today); echo "当月的第一天: ".$day[0]." 当月的最后一天: ".$day[1]; echo "<br/>";
获取本月日期:
function getmonth($date){ $firstday = date("y-m-01",strtotime($date)); $lastday = date("y-m-d",strtotime("$firstday +1 month -1 day")); return array($firstday,$lastday); }

$firstday是月份的第一天,假如$date是2018-2这样的话,$firstday就会是2018-02-01,然后根据$firstday加一个月就是2018-03-01,再减一天就是2018-02-28,用date()和strtotime()真是太方便了。
获取上月日期:
function getlastmonthdays($date){ $timestamp=strtotime($date); $firstday=date('y-m-01',strtotime(date('y',$timestamp).'-'.(date('m',$timestamp)-1).'-01')); $lastday=date('y-m-d',strtotime("$firstday +1 month -1 day")); return array($firstday,$lastday); }
上月日期需要先获取一个时间戳,然后在月份上-1就ok了,超智能的date()会把2018-0-1这种东西转换成2017-12-01,太爽了。
 获取下月日期:
function getnextmonthdays($date){ $timestamp=strtotime($date); $arr=getdate($timestamp); if($arr['mon'] == 12){ $year=$arr['year'] +1; $month=$arr['mon'] -11; $firstday=$year.'-0'.$month.'-01'; $lastday=date('y-m-d',strtotime("$firstday +1 month -1 day")); }else{ $firstday=date('y-m-01',strtotime(date('y',$timestamp).'-'.(date('m',$timestamp)+1).'-01')); $lastday=date('y-m-d',strtotime("$firstday +1 month -1 day")); } return array($firstday,$lastday); }
下月日期的代码看起来比较长一点,因为date()转不了类似2018-13-01这种东西,它会直接回到1970,所以前面需要处理一下12月的问题,除了12月就直接月份+1就ok啦。
总得来说,日期函数太强大了。
相关推荐:
利用php获取访客ip、地区位置、浏览器及来源页面等信息
以上就是php获取一些时间的实现方法实践的详细内容。
其它类似信息

推荐信息