本篇文章给大家分享的内容是关于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获取一些时间的实现方法实践的详细内容。