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 相关文章推荐
自己动手做一个SQL解释器
Oct 09 PHP
php快速url重写更新版[需php 5.30以上]
Apr 25 PHP
ThinkPHP登录功能的实现方法
Aug 20 PHP
PHP中mysql_field_type()函数用法
Nov 24 PHP
php对关联数组循环遍历的实现方法
Mar 13 PHP
PHP获取当前日期和时间及格式化方法参数
May 11 PHP
PHP实现查询两个数组中不同元素的方法
Feb 23 PHP
php使用str_replace替换多维数组的实现方法分析
Jun 15 PHP
PHP编程实现微信企业向用户付款的方法示例
Jul 26 PHP
PHP中十六进制颜色与RGB颜色值互转的方法
Mar 18 PHP
使用laravel的migrate创建数据表的方法
Sep 30 PHP
PHP与Web页面的交互示例详解二
Aug 04 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和ACCESS写聊天室(三)
2006/10/09 PHP
模仿JQuery sortable效果 代码有错但值得看看
2009/11/05 Javascript
在Node.js中实现文件复制的方法和实例
2014/06/05 Javascript
20条学习javascript的编程规范的建议
2014/11/28 Javascript
jquery图片播放浏览插件prettyPhoto使用详解
2014/12/19 Javascript
jquery控制显示服务器生成的图片流
2015/08/04 Javascript
jQuery拖动布局其结果保存到数据库
2015/10/09 Javascript
详解基于Bootstrap扁平化的后台框架Ace
2015/11/27 Javascript
浅谈JavaScript中数组的增删改查
2016/06/20 Javascript
js实现StringBuffer的简单实例
2016/09/02 Javascript
浅谈js中startsWith 函数不能在任何浏览器兼容的问题
2017/03/01 Javascript
JS实现获取图片大小和预览的方法完整实例【兼容IE和其它浏览器】
2017/04/24 Javascript
layui文件上传实现代码
2017/05/20 Javascript
JavaScript设计模式之工厂模式和抽象工厂模式定义与用法分析
2018/07/26 Javascript
ES6知识点整理之对象解构赋值应用示例
2019/04/17 Javascript
html+jQuery实现拖动滑块图片拼图验证码插件【移动端适用】
2019/09/10 jQuery
JavaScript如何把两个数组对象合并过程解析
2019/10/10 Javascript
vue实现随机验证码功能(完整代码)
2019/12/10 Javascript
解决angular 使用原生拖拽页面卡顿及表单控件输入延迟问题
2020/04/21 Javascript
Python实现进程同步和通信的方法
2018/01/02 Python
python中partial()基础用法说明
2018/12/30 Python
Python面向对象程序设计之私有属性及私有方法示例
2019/04/08 Python
python实现串口自动触发工作的示例
2019/07/02 Python
详解Windows下PyCharm安装Numpy包及无法安装问题解决方案
2020/06/18 Python
教师求职信范文分享
2013/12/27 职场文书
五十岁生日宴会答谢词
2014/01/15 职场文书
小学教学随笔感言
2014/02/26 职场文书
群众路线教育实践活动心得体会
2014/03/07 职场文书
中国梦演讲稿开场白
2014/08/28 职场文书
2014小学数学教研组工作总结
2014/12/06 职场文书
永远是春天观后感
2015/06/12 职场文书
同步小康驻村工作简报
2015/07/20 职场文书
《普罗米修斯》教学反思
2016/02/22 职场文书
驾驶员安全责任协议书
2016/03/22 职场文书
导游词之广西漓江
2019/11/02 职场文书
解决sql server 数据库,sa用户被锁定的问题
2021/06/11 SQL Server