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版(2)
Oct 09 PHP
php中ob(Output Buffer 输出缓冲)函数使用方法
Jul 21 PHP
开源SNS系统-ThinkSNS
May 18 PHP
php将数据库导出成excel的方法
May 07 PHP
PHP 事务处理数据实现代码
May 13 PHP
php 文件缓存函数
Oct 08 PHP
win7 64位系统 配置php最新版开发环境(php+Apache+mysql)
Aug 15 PHP
解决ThinkPHP关闭调试模式时报错的问题汇总
Apr 22 PHP
php提取身份证号码中的生日日期以及验证是否为成年人的函数
Sep 29 PHP
PHP引用的调用方法分析
Apr 25 PHP
php rmdir使用递归函数删除非空目录实例详解
Oct 20 PHP
PHP第三方登录―QQ登录实现方法
Feb 06 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 空格,换行,跳格使用说明
2009/12/18 PHP
array_multisort实现PHP多维数组排序示例讲解
2011/01/04 PHP
Laravel中log无法写入问题的解决
2017/06/17 PHP
PHP基于Closure类创建匿名函数的方法详解
2017/08/17 PHP
PHP基于GD2函数库实现验证码功能示例
2019/01/27 PHP
JS图片无缝、平滑滚动代码
2014/03/11 Javascript
js的touch事件的实际引用
2014/10/13 Javascript
jQuery中empty()方法用法实例
2015/01/16 Javascript
js验证上传图片的方法
2015/05/12 Javascript
clipboard.js无需Flash无需依赖任何JS库实现文本复制与剪切
2015/10/10 Javascript
ES6中箭头函数的定义与调用方式详解
2017/06/02 Javascript
微信小程序 es6-promise.js封装请求与处理异步进程
2017/06/12 Javascript
在iframe中使bootstrap的模态框在父页面弹出问题
2017/08/07 Javascript
利用JS hash制作单页Web应用的方法详解
2017/10/10 Javascript
微信小程序使用progress组件实现显示进度功能【附源码下载】
2017/12/12 Javascript
React Native之prop-types进行属性确认详解
2017/12/19 Javascript
react router4+redux实现路由权限控制的方法
2018/05/03 Javascript
Koa2微信公众号开发之本地开发调试环境搭建
2018/05/16 Javascript
vue用Object.defineProperty手写一个简单的双向绑定的示例
2018/07/09 Javascript
ionic使用angularjs表单验证(模板验证)
2018/12/12 Javascript
原生JS实现的跳一跳小游戏完整实例
2019/01/27 Javascript
微信小程序实现的绘制table表格功能示例
2019/04/26 Javascript
javascript将16进制的字符串转换为10进制整数hex
2020/03/05 Javascript
Vue-cli assets SubDirectory及PublicPath区别详解
2020/08/18 Javascript
[42:27]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第三局
2016/03/05 DOTA
在Python中使用Mako模版库的简单教程
2015/04/08 Python
深入探究Django中的Session与Cookie
2017/07/30 Python
django静态文件加载的方法
2018/05/20 Python
详解pycharm2020.1.1专业版安装指南(推荐)
2020/08/07 Python
Python2及Python3如何实现兼容切换
2020/09/01 Python
使用javascript和HTML5 Canvas画的四渐变色播放按钮效果
2014/04/10 HTML / CSS
军训自我鉴定
2014/01/22 职场文书
关于保护环境的标语
2014/06/09 职场文书
矛盾论读书笔记
2015/06/29 职场文书
公司员工违法违章行为检讨书
2019/06/24 职场文书
SQL Server数据库备份和恢复数据库的全过程
2022/06/14 SQL Server