当前位置: > > > php - 日期加减计算

php - 日期加减计算

使用php过程中经常要对日期进行计算。比如要得到明天日期,昨天日期,任意一天日期等。这里用到了几个函数:
date()函数:把时间戳格式化为更易读的日期和时间
strtotime()函数:将任何英文文本的日期时间描述解析为 Unix 时间戳
time()函数:获得当前日期的时间戳

1,得到今天日期,或以今天日期为基准的日期(比如下1小时)
echo date('Y-m-d H:i:s'); //当前时间:2014-12-17 14:04:01
echo date('Y-m-d H:i:s',time()+24*60*60); //明天此时:2014-12-18 14:04:01
echo date('Y-m-d H:i:s',strtotime('-1 day')); //昨天此时:2014-12-16 14:04:01
echo date('Y-m-d H:i:s',strtotime('+1 week 3 days 6 hours 5 seconds'));//现在加一周3天6小时5秒:2014-12-27 20:04:06

2,以任意一天为准计算日期(指定日期可以是字符串的)
echo date('Y-m-d H:i:s',strtotime('1986-09-23 12:12:59')+24*60*60);//1986-09-23 12:12:59第二天的时间

3,时间戳日期计算(比如获得2012-5-1号之前一天的日期)
//将时间点转换为时间戳
$date = strtotime('2012-5-1');
//一天前的日期,即在时间戳上减去一天的秒数
$date2 = $date - 1*24*60*60;

4,获取下一个月第一天日期(或者上一个月,前后N个月日期)
/**
* 取得下一个月第一天的日期
* $date:基准时间
* $num:1表示下一个月,2表示下两个月,-1表示前一个月...以此类推
*/
function GetNextMonth($date,$num="1")  
{  
    //得到系统的年月  
    $tmp_date=date("Ym",$date);  
    //切割出年份  
    $tmp_year=substr($tmp_date,0,4);  
    //切割出月份  
    $tmp_mon =substr($tmp_date,4,2);  
    $nextmonth=mktime(0,0,0,$tmp_mon+$num,1,$tmp_year);  
	return $nextmonth;    
} 
评论0