PHP中的日期加减方法示例


Posted in PHP onAugust 21, 2014

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

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

如:2012-04-25 10:10:00

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

结果:2012-04-25 10:10:00 加5个月等于 2012-09-25 10:10:00

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

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

<?php

/**

 * PHP里的日期加减方法

 * 琼台老屋

 */

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

$a = '2012-04-25 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去看手册均可。
PHP 相关文章推荐
example2.php
Oct 09 PHP
PHP3 safe_mode 失效漏洞
Oct 09 PHP
PHP操作数组的一些函数整理介绍
Jul 17 PHP
浏览器关闭后,能继续执行的php函数(ignore_user_abort)
Aug 01 PHP
php sybase_fetch_array使用方法
Apr 15 PHP
PHP中数组的分组排序实例
Jun 01 PHP
php+js实现异步图片上传实例分享
Jun 02 PHP
PHP实现显示照片exif信息的方法
Jul 11 PHP
PHP自定session保存路径及删除、注销与写入的方法
Nov 18 PHP
php.ini中的request_order推荐设置
May 10 PHP
php操作redis缓存方法分享
Jun 03 PHP
利用PHP如何实现Socket服务器
Sep 23 PHP
PHP中比较时间大小实例
Aug 21 #PHP
PHP中使用strpos函数实现屏蔽敏感关键字功能
Aug 21 #PHP
PHP中使用sleep函数实现定时任务实例分享
Aug 21 #PHP
PHP实现的多彩标签效果代码分享
Aug 21 #PHP
又一个PHP实现的冒泡排序算法分享
Aug 21 #PHP
PHP中几个可以提高运行效率的代码写法、技巧分享
Aug 21 #PHP
个人写的PHP验证码生成类分享
Aug 21 #PHP
You might like
PHP读取XML值的代码(推荐)
2011/01/01 PHP
php学习之function的用法
2012/07/14 PHP
php的hash算法介绍
2014/02/13 PHP
Yii2增加验证码步骤详解
2016/04/25 PHP
PHP中phar包的使用教程
2017/06/14 PHP
php简单读取.vcf格式文件的方法示例
2017/09/02 PHP
实例分析PHP中PHPMailer发邮件
2017/12/13 PHP
JS 在指定数组中随机取出N个不重复的数据
2014/06/10 Javascript
谈谈impress.js初步理解
2015/09/09 Javascript
JavaScript操作HTML元素和样式的方法详解
2015/10/21 Javascript
jquery 手势密码插件
2017/03/17 Javascript
js实现放大镜特效
2017/05/18 Javascript
JS+CSS实现网页加载中的动画效果
2017/10/27 Javascript
ES6学习笔记之map、set与数组、对象的对比
2018/03/01 Javascript
详解基于vue-cli3.0如何构建功能完善的前端架子
2018/10/09 Javascript
移动端如何用下拉刷新的方式实现上拉加载
2018/12/10 Javascript
JSON基本语法及与JavaScript的异同实例分析
2019/01/04 Javascript
泛谈JS逻辑判断选择器 || &amp;&amp;
2019/05/24 Javascript
JavaScript实现网页留言板功能
2020/11/23 Javascript
Python算法之栈(stack)的实现
2014/08/18 Python
opencv改变imshow窗口大小,窗口位置的方法
2018/04/02 Python
对python 多个分隔符split 的实例详解
2018/12/20 Python
Python基础学习之时间转换函数用法详解
2019/06/18 Python
python argparser的具体使用
2019/11/10 Python
mac使用python识别图形验证码功能
2020/01/10 Python
python读取文件指定行内容实例讲解
2020/03/02 Python
淘宝活动策划方案
2014/02/06 职场文书
餐厅采购员岗位职责
2014/03/06 职场文书
国际经济贸易专业自荐信
2014/06/13 职场文书
2014年后勤管理工作总结
2014/12/01 职场文书
2014七年级班主任工作总结
2014/12/05 职场文书
精神文明建设先进个人事迹材料
2014/12/24 职场文书
2015年秋季新学期寄语
2015/03/25 职场文书
2015年质检工作总结
2015/05/04 职场文书
干部作风纪律整顿心得体会
2016/01/23 职场文书
Python数据可视化之用Matplotlib绘制常用图形
2021/06/03 Python