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 相关文章推荐
PHP 5.3.0 安装分析心得
Aug 07 PHP
PHP中将数组转成XML格式的实现代码
Aug 08 PHP
thinkPHP的Html模板标签使用方法
Nov 13 PHP
PHP下打开phpMyAdmin出现403错误的问题解决方法
May 23 PHP
PHP连接SQLServer2005方法及代码
Dec 26 PHP
php实现加减法验证码代码
Feb 14 PHP
PHP实现服务器状态监控的方法
Dec 09 PHP
php绘图之在图片上写中文和英文的方法
Jan 24 PHP
PHP获取指定月份第一天和最后一天的方法
Jul 18 PHP
yii2高级应用之自定义组件实现全局使用图片上传功能的方法
Oct 08 PHP
PHP基于cookie实现统计在线人数功能示例
Jan 16 PHP
PHP实现简单用户登录界面
Oct 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设计模式 Chain Of Responsibility (职责链模式)
2011/06/26 PHP
php+mysql数据库查询实例
2015/01/21 PHP
php常用字符串查找函数strstr()与strpos()实例分析
2019/06/21 PHP
Js之软键盘实现(js源码)
2007/01/30 Javascript
javascript 解析url的search方法
2010/02/09 Javascript
Javascript 异步加载详解(浏览器在javascript的加载方式)
2012/05/20 Javascript
弹出窗口并且此窗口带有半透明的遮罩层效果
2014/03/13 Javascript
IE中图片的onload事件无效问题和解决方法
2014/06/06 Javascript
javascript中with()方法的语法格式及使用
2014/08/04 Javascript
jQuery实现长按按钮触发事件的方法
2015/02/02 Javascript
jquery渐隐渐显的图片幻灯闪烁切换实现方法
2015/02/26 Javascript
JQuery调用绑定click事件的3种写法
2015/03/28 Javascript
Javascript学习之谈谈JS的全局变量跟局部变量(推荐)
2016/08/28 Javascript
jQuery实现弹幕效果
2017/02/17 Javascript
node操作mysql数据库实例详解
2017/03/17 Javascript
使用jquery+iframe做一个ajax上传效果(实例)
2017/08/24 jQuery
Angular4.0中引入laydate.js日期插件的方法教程
2017/12/25 Javascript
深入理解react-router 路由的实现原理
2018/09/26 Javascript
async/await优雅的错误处理方法总结
2019/01/30 Javascript
JQuery Ajax跨域调用和非跨域调用问题实例分析
2019/04/16 jQuery
一文读懂ES7中的javascript修饰器
2019/05/06 Javascript
ES6小技巧之代替lodash
2019/06/07 Javascript
Python中的rfind()方法使用详解
2015/05/19 Python
Python的Django应用程序解决AJAX跨域访问问题的方法
2016/05/31 Python
快速排序的四种python实现(推荐)
2019/04/03 Python
Python3之不使用第三方变量,实现交换两个变量的值
2019/06/26 Python
django中media媒体路径设置的步骤
2019/11/15 Python
德国汽车零件和汽车配件网上商店:kfzteile24
2018/11/14 全球购物
Otticanet美国:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/03/10 全球购物
开普敦通行证:Cape Town Pass
2019/07/18 全球购物
求职者怎样写自荐信
2014/04/13 职场文书
2014党员学习习主席讲话思想汇报
2014/09/15 职场文书
2014年电话客服工作总结
2014/12/09 职场文书
浅谈Python数学建模之整数规划
2021/06/23 Python
CSS3 Tab动画实例之背景切换动态效果
2021/08/23 HTML / CSS
浅析Python中的随机采样和概率分布
2021/12/06 Python