首页  >  文章  >  php教程  >  PHP中日期加减方法

PHP中日期加减方法

WBOY
WBOY原创
2016-06-06 19:54:041342浏览

几乎所有从事程序开发的程序员都遇到时间处理问题,PHP开发也一样,幸运的是PHP提供了很多关于日期时间函数。只要经常使用这些函数,搭配使用,日期时间处理上就熟能生巧了。 今天要讲的这个例子,需求是这样的。得知某个日期时间, 如:2014-01-05 10:10:00

几乎所有从事程序开发的程序员都遇到时间处理问题,PHP开发也一样,幸运的是PHP提供了很多关于日期时间函数。只要经常使用这些函数,搭配使用,日期时间处理上就熟能生巧了。

今天要讲的这个例子,需求是这样的。得知某个日期时间,

如:2014-01-05 10:10:00

我要在这个日期时间的基础上加上5个月并返回处理后的日期

结果:2014-01-05 10:10:00 加5个月等于 2014-06-05 10:10:00

这个需求看似简单,但还是有点棘手,因为PHP没有直接提供yyyy-mm-dd hh:ii:ss 这样格式的日期时间进行加减,所以只能通过时间戳来实现。时间戳是程序换算的标准格式,精确到秒。PHP可以将多种日期格式转换为时间戳,又可以把时间戳转换回各种日期格式,结合这两个特点我们大致实现的步骤有三步,先把原来时间转换成时间戳,然后进行加减,最后转换回日期格式。

当然,这是实现原理,结合PHP函数date()与strtotime()两个函数来实现大致也是这个意思,请看实例代码

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

<?php

/**

* PHP里的日期加减方法

* &#29756;台老屋

*/

// 第一步,假设有一个时间

$a = '2014-01-05 10:10:00';

// 第二步,获得这个日期的时间戳

$a_time = strtotime($a);

// 第三步,获得加五个月后的时间戳

$b_time = strtotime('&#43;5 Month',$a_time);

// 第四部,把时间戳转换回日期&#26684;式

$b = date('Y-m-d H:i:s',$b_time);

echo '这是加了五个月后的日期'.$b;

// 如果你觉得以上代码过长也可以一行搞定

$b = date('Y-m-d H:i:s',strtotime('&#43;'.$time.' Month',strtotime($a)));

echo '这是加了五个月后的日期'.$b;

?>

1 2

3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
<?php<🎜> <🎜> /**<🎜> <🎜>  * PHP里的日期加减方法<🎜> <🎜>  * 琼台老屋<🎜> <🎜>  */<🎜> <🎜> // 第一步,假设有一个时间<🎜> <🎜> $a = '2014-01-05 10:10:00';<🎜> <🎜>  <🎜> <🎜> // 第二步,获得这个日期的时间戳<🎜> <🎜> $a_time = strtotime($a);<🎜> <🎜>  <🎜> <🎜> // 第三步,获得加五个月后的时间戳<🎜> <🎜> $b_time = strtotime('+5 Month',$a_time);<🎜> <🎜>  <🎜> <🎜> // 第四部,把时间戳转换回日期格式<🎜> <🎜> $b = date('Y-m-d H:i:s',$b_time);<🎜> <🎜> echo '这是加了五个月后的日期'.$b;<🎜> <🎜>  <🎜> <🎜> // 如果你觉得以上代码过长也可以一行搞定<🎜> <🎜> $b = date('Y-m-d H:i:s',strtotime('+'.$time.' Month',strtotime($a)));<🎜> <🎜> echo '这是加了五个月后的日期'.$b;<🎜> <🎜> ?>
关于date()函数与strtotime()函数的使用,这里就不详细介绍了。需要的童鞋可以看我以前的相关函数介绍文章或者到php.net去看手册均可。
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn