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 七大优势分析
Jun 23 PHP
php中神奇的fastcgi_finish_request
May 02 PHP
php文件夹与文件目录操作函数介绍
Sep 09 PHP
ThinkPHP分页实例
Oct 15 PHP
CI框架学习笔记(一) - 环境安装、基本术语和框架流程
Oct 26 PHP
PHP浮点数精度问题汇总
May 13 PHP
PHP翻页跳转功能实现方法
Nov 30 PHP
ZF框架实现发送邮件的方法
Dec 03 PHP
PHP目录与文件操作技巧总结(创建,删除,遍历,读写,修改等)
Sep 11 PHP
PHP CodeIgniter分页实例及多条件查询解决方案(推荐)
May 20 PHP
PDO::getAttribute讲解
Jan 28 PHP
PHP递归统计系统中代码行数
Sep 19 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
ie6 动态缩略图不显示的原因
2009/06/21 PHP
AMFPHP php远程调用(RPC, Remote Procedure Call)工具 快速入门教程
2010/05/10 PHP
精美漂亮的php分页类代码
2013/04/02 PHP
PHP提交表单失败后如何保留已经填写的信息
2014/06/20 PHP
PHP使用get_headers函数判断远程文件是否存在的方法
2014/11/28 PHP
Yii2 assets清除缓存的方法
2016/05/16 PHP
php实现记事本案例
2020/10/20 PHP
DIV菜单层实现代码
2010/11/19 Javascript
很好用的js日历算法详细代码
2013/03/07 Javascript
jquery $(this).attr $(this).val方法使用介绍
2013/10/08 Javascript
Event altKey,ctrlKey,shiftKey属性解析
2013/12/18 Javascript
使用js实现数据格式化
2014/12/03 Javascript
Bootstrap Validator 表单验证
2016/07/25 Javascript
BootStrap Fileinput的使用教程
2016/12/30 Javascript
jQuery插件版本冲突的处理方法分析
2017/01/16 Javascript
JavaScript比较两个数组的内容是否相同(推荐)
2017/05/02 Javascript
webpack4 从零学习常用配置(小结)
2019/05/28 Javascript
JS实现处理时间,年月日,星期的公共方法示例
2019/05/31 Javascript
Vue登录主页动态背景短视频制作
2019/09/21 Javascript
vue 获取url参数、get参数返回数组的操作
2020/11/12 Javascript
vue+element实现动态加载表单
2020/12/13 Vue.js
[01:38]【DOTA2亚洲邀请赛】Sumail——梦开始的地方
2017/03/03 DOTA
Python获取央视节目单的实现代码
2015/07/25 Python
Python程序员面试题 你必须提前准备!
2018/01/16 Python
Python中str.join()简单用法示例
2018/03/20 Python
python中的decorator的作用详解
2018/07/26 Python
Python numpy.array()生成相同元素数组的示例
2018/11/12 Python
python3学生名片管理v2.0版
2018/11/29 Python
python对常见数据类型的遍历解析
2019/08/27 Python
python递归下载文件夹下所有文件
2019/08/31 Python
Mytheresa英国官网:拥有160多个奢侈品品牌
2016/10/09 全球购物
梅西酒窖:Macy’s Wine Cellar
2018/01/07 全球购物
个人委托书怎么写
2014/04/04 职场文书
九一八事变演讲稿范文
2014/09/14 职场文书
班主任经验交流材料
2014/12/16 职场文书
发工资啦!教你用Python实现邮箱自动群发工资条
2021/05/10 Python