PHP的日期加减计算strtotime Date实现日期加年月日

  •   
  • 2500
  • PHP
  • 9
  • super_dodo
  • 2015/04/28

在涉及到月份日期的诸多账单和逻辑中,就非常的需要使用到php中的strtotime Date这两个函数来处理跟日期相关的计算。单纯的依靠时间戳来处理会变得很被动。尤其是2只有28天,大月小月都有区别。下面来认识一下常用的PHP的日期加减计算strtotime Date实现日期加年月日的几个示例Demo吧。获取当前月的开始到结束年月日,获取当前时间上一月的开始到结束年月日,获取当前时间的开始到下一年开始,"获取给定的日期(2015-05-01) 加20天的日期等。

header("Content-Type:text/html;Charset=UTF-8");

//获取当前月的开始到结束年月日
$sDate = date("Y-m-01");
$eDate = date("Y-m-d",strtotime("$sDate +1 month -1 day"));
echo "获取当前月的开始到结束年月日<br>";
echo $sDate."<br/>";
echo $eDate."<br/>";
echo "<hr>";


$sDate=date('Y-m-01',strtotime(date('Y',time()).'-'.(date('m',time())-1).'-01'));
$eDate=date('Y-m-d',strtotime("$sDate +1 month -1 day"));
echo "获取当前时间上一月的开始到结束年月日<br/>";
echo $sDate."<br/>";
echo $eDate."<br/>";
echo "<hr>";


$sDate=date('Y-m-01',strtotime(date('Y',time()).'-'.(date('m',time())-1).'-01'));
$eDate=date('Y-m-d',strtotime("$sDate +1 month"));
echo "获取当前时间上一月的开始到当前月开始<br/>";
echo $sDate."<br/>";
echo $eDate."<br/>";
echo "<hr>";


$sDate=date('Y-m-d H:i:s',time());
$eDate=date('Y-m-d H:i:s',strtotime("$sDate +1 year"));
echo "获取当前时间的开始到下一年开始<br/>";
echo $sDate."<br/>";
echo $eDate."<br/>";
echo "<hr>";


$sDate='2015-05-01';
$eDate=date('Y-m-d',strtotime("$sDate +20 day"));
echo "获取2015-05-01 加20天的日期 <br/>";
echo $sDate."<br/>";
echo $eDate."<br/>";
echo "<hr>";

对应上面得到的结果集为

获取当前月的开始到结束年月日
2015-04-01
2015-04-30

获取当前时间上一月的开始到结束年月日
2015-03-01
2015-03-31

获取当前时间上一月的开始到当前月开始
2015-03-01
2015-04-01

获取当前时间的开始到下一年开始
2015-04-28 10:36:34
2016-04-28 10:36:34

获取2015-05-01 加20天的日期 
2015-05-01
2015-05-21

谁曾想,到头来。山河依旧,爱也依旧。你的身影,刚在身后 又到前头。---汪国真