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 相关文章推荐
mysql 的 like 问题,超强毕杀记!!!
Jan 18 PHP
PHP MSSQL 存储过程的方法
Dec 24 PHP
PHP OPCode缓存 APC详细介绍
Oct 12 PHP
PHP5中虚函数的实现方法分享
Apr 20 PHP
PHP登陆后跳转到登陆前页面实现思路及代码
Jan 17 PHP
php基于base64解码图片与加密图片还原实例
Nov 03 PHP
PHP学习笔记(三):数据类型转换与常量介绍
Apr 17 PHP
10个超级有用的PHP代码片段果断收藏
Sep 23 PHP
PHP微信开发之查询微信精选文章
Jun 23 PHP
thinkphp整合微信支付代码分享
Nov 24 PHP
PHP基于swoole多进程操作示例
Aug 12 PHP
详解Laravel框架的依赖注入功能
May 27 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 $_ENV为空的原因分析
2009/06/01 PHP
基于PHP对XML的操作详解
2013/06/07 PHP
如何使用FireFox插件FirePHP调试PHP
2013/07/23 PHP
一个非常完美的读写ini格式的PHP配置类分享
2015/02/12 PHP
PHP读取XML格式文件的方法总结
2017/02/27 PHP
phpStudy中升级MySQL版本到5.7.17的方法步骤
2017/08/03 PHP
微信公众平台开发教程⑥ 微信开发集成类的使用图文详解
2019/04/10 PHP
js 获取服务器控件值的代码
2010/03/05 Javascript
解决jquery的.animate()函数在IE6下的问题
2010/12/03 Javascript
javascript 中String.match()与RegExp.exec()的区别说明
2013/01/10 Javascript
纯JS实现五子棋游戏兼容各浏览器(附源码)
2013/04/24 Javascript
jquery动态添加option示例
2013/12/30 Javascript
JavaScript中输出标签的方法
2014/08/27 Javascript
简单纯js实现点击切换TAB标签实例
2015/08/23 Javascript
JS树形菜单组件Bootstrap TreeView使用方法详解
2016/12/21 Javascript
vue src动态加载请求获取图片的方法
2018/10/17 Javascript
JS Math对象与Math方法实例小结
2019/07/05 Javascript
JS实现前端路由功能示例【原生路由】
2020/05/29 Javascript
[05:17]DOTA2睡衣妹卖萌求签名 CJ第二天全明星影像
2013/07/28 DOTA
浅析Python中元祖、列表和字典的区别
2016/08/17 Python
Python按行读取文件的实现方法【小文件和大文件读取】
2016/09/19 Python
Python正则表达式使用范例分享
2016/12/04 Python
Python3 伪装浏览器的方法示例
2017/11/23 Python
selenium+python自动化测试之使用webdriver操作浏览器的方法
2019/01/23 Python
QML使用Python的函数过程解析
2019/09/26 Python
python中return不返回值的问题解析
2020/07/22 Python
Pyqt助手安装PyQt5帮助文档过程图解
2020/11/20 Python
利用CSS3实现文本框的清除按钮相关的一些效果
2015/06/23 HTML / CSS
瑞典快乐袜子:Happy Socks
2018/02/16 全球购物
创业计划书中要认真思考的问题
2013/12/28 职场文书
社会实践心得体会
2014/01/03 职场文书
幼儿园数学教学反思
2014/02/02 职场文书
乡镇群众路线专项整治方案
2014/11/03 职场文书
感谢师恩主题班会
2015/08/17 职场文书
《水浒传》读后感3篇(范文)
2019/09/19 职场文书
MySQL之PXC集群搭建的方法步骤
2021/05/25 MySQL