PHP 日期操作 小结

最近项目中应用PHP日期处理较多,顺便记录一下。

 

<?php 

//PHP获得当前日期的前一天和后一天
echo date('Y-m-d',time()-86400);
echo date('Y-m-d',time()+86400);
//2011-07-09 2011-07-11

//-------------------------------------- 分割线 ------------------------------------

//PHP获得明天、上个月、明年
$tomorrow  = date("Y-m-d", mktime(0, 0, 0, date("m")  , date("d")+1, date("Y"))); 
$lastmonth = date("Y-m-d", mktime(0, 0, 0, date("m")-1, date("d"),   date("Y")));
$nextyear  = date("Y-m-d", mktime(0, 0, 0, date("m"),   date("d"),   date("Y")+1));

echo $tomorrow.' '.$lastmonth.' '.$nextyear;
//2011-07-11 2011-06-10 2012-07-10

//-------------------------------------- 分割线 ------------------------------------

//PHP获得指定日期所在星期的第一天和最后一天
function getWeekDay($date){
    $lastday = date("Y-m-d",strtotime("$date Sunday"));
    $firstday = date("Y-m-d",strtotime("$lastday -6 days"));
    return array($firstday,$lastday);
}

print_r(getWeekDay("2011-07-10"));
/**
 * Array
 * 	(
 *   	[0] => 2011-07-04
 *  	[1] => 2011-07-10
 *	)
 */

//-------------------------------------- 分割线 -------------------------------

//PHP获得指定日期所在月的第一天和最后一天
function getMonthDay($date){
    $firstday = date("Y-m-01",strtotime($date));
    $lastday = date("Y-m-d",strtotime("$firstday +1 month -1 day"));
    return array($firstday,$lastday);
}

print_r(getMonthDay("2011-07-10"));
/**
 * Array
 * 	(
 *   	[0] => 2011-07-01
 *  	[1] => 2011-07-31
 *	)
 */
//PHP获得两日期间隔天数[PHP版本>= 5.3 有效]
function getIntervalDay($date1 = null, $date2 = null){
	$datetime1 = new DateTime($date1);
	$datetime2 = new DateTime($date2);
	$interval = $datetime1->diff($datetime2);
	return $interval->format('%a');
}

function getIntervalDay1($date1 = null, $date2 = null){
	$datetime1 = date_create($date1);
	$datetime2 = date_create($date2);
	$interval = date_diff($datetime1, $datetime2);
	return $interval->format('%a');
}

echo getIntervalDay('2011-07-25', '2011-07-26');//1
echo getIntervalDay1('2011-07-25', '2011-08-28');//34
?>
   

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值