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 相关文章推荐
使用apache模块rewrite_module (转)
Feb 14 PHP
PHP 采集程序原理分析篇
Mar 05 PHP
《PHP编程最快明白》第三讲:php数组
Nov 01 PHP
PHP操作文件类的函数代码(文件和文件夹创建,复制,移动和删除)
Nov 10 PHP
php+mysql结合Ajax实现点赞功能完整实例
Jan 30 PHP
php继承中方法重载(覆盖)的应用场合
Feb 09 PHP
浅谈json_encode用法
Mar 05 PHP
php获得网站访问统计信息类Compete API用法实例
Apr 02 PHP
简单了解将WordPress中的工具栏移到底部的小技巧
Dec 31 PHP
PHP单例模式与工厂模式详解
Aug 29 PHP
PHP实现生成模糊图片的方法示例
Dec 21 PHP
php 将json格式数据转换成数组的方法
Aug 21 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
DC这些乐高系列动画电影你看过几部?
2020/04/09 欧美动漫
PHP网页游戏学习之Xnova(ogame)源码解读(二)
2014/06/23 PHP
php删除数组中重复元素的方法
2015/12/22 PHP
php安装ssh2扩展的方法【Linux平台】
2016/07/20 PHP
PHP实现的redis主从数据库状态检测功能示例
2017/07/20 PHP
php利用云片网实现短信验证码功能的示例代码
2017/11/18 PHP
详解PHP版本兼容之openssl调用参数
2018/07/25 PHP
自己开发Dojo的建议框架
2008/09/24 Javascript
JavaScript内核之基本概念
2011/10/21 Javascript
Extjs Gird 支持中文拼音排序实现代码
2013/04/15 Javascript
JS去除右边逗号的简单方法
2013/07/03 Javascript
JavaScript获取客户端计算机硬件及系统等信息的方法
2014/01/02 Javascript
根据user-agent判断蜘蛛代码黑帽跳转代码(js版与php版本)
2015/09/14 Javascript
JavaScript的removeChild()函数用法详解
2015/12/27 Javascript
jquery ajax双击div可直接修改div中的内容
2016/03/04 Javascript
表单input项使用label同时引用Bootstrap库导致input点击效果区增大问题
2016/10/11 Javascript
JavaScript实现的鼠标响应颜色渐变效果完整实例
2017/02/18 Javascript
jQuery ajax实现省市县三级联动
2021/03/07 Javascript
使用百度地图实现地图网格的示例
2018/02/06 Javascript
原生JS实现简单的无缝自动轮播效果
2018/09/26 Javascript
[01:18:45]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第三场2月1日
2021/03/11 DOTA
Python cookbook(数据结构与算法)筛选及提取序列中元素的方法
2018/03/19 Python
python django框架中使用FastDFS分布式文件系统的安装方法
2019/06/10 Python
Python基于Faker假数据构造库
2020/11/30 Python
Html5新特性用canvas标签画多条直线附效果截图
2014/06/30 HTML / CSS
国际知名设计师时装商店:Coggles
2016/09/05 全球购物
波兰在线运动商店:YesSport
2020/07/23 全球购物
假日旅行社实习自我鉴定
2013/09/24 职场文书
自我鉴定范文300字
2013/10/01 职场文书
高中军训感想300字
2014/03/04 职场文书
产品质量承诺书
2014/03/27 职场文书
四风问题民主生活会对照检查材料思想汇报
2014/09/27 职场文书
单位法人授权委托书范本
2014/10/09 职场文书
小学运动会加油词
2015/07/18 职场文书
《扇形统计图》教学反思
2016/02/17 职场文书
Vue h函数的使用详解
2022/02/18 Vue.js