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 相关文章推荐
Zend Studio (eclipse)使用速度优化方法
Mar 23 PHP
sphinx增量索引的一个问题
Jun 14 PHP
PHP 之Section与Cookie使用总结
Sep 14 PHP
Nginx下配置codeigniter框架方法
Apr 07 PHP
WAMP环境中扩展oracle函数库(oci)
Jun 26 PHP
PHP 读取文本文件内容并分页显示
Jan 02 PHP
PHP+shell脚本操作Memcached和Apache Status的实例分享
Mar 11 PHP
PHP开发中解决并发问题的几种实现方法分析
Nov 13 PHP
ThinkPHP实现转换数据库查询结果数据到对应类型的方法
Nov 16 PHP
PHP实现websocket通信的方法示例
Aug 28 PHP
Laravel5.5 实现后台管理登录的方法(自定义用户表登录)
Sep 30 PHP
基于PHP实现用户登录注册功能的详细教程
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从数组中随机选择若干不重复元素的方法
2015/03/14 PHP
php程序内部post数据的方法
2015/03/31 PHP
PHP检查端口是否可以被绑定的方法示例
2018/08/09 PHP
php如何比较两个浮点数是否相等详解
2019/02/12 PHP
Laravel如何同时连接多个数据库详解
2019/08/13 PHP
PHP连接MySQL数据库的三种方式实例分析【mysql、mysqli、pdo】
2019/11/04 PHP
Prototype ObjectRange对象学习
2009/07/19 Javascript
cookie的复制与使用记住用户名实现代码
2013/11/04 Javascript
jQuery插件Slider Revolution实现响应动画滑动图片切换效果
2015/06/05 Javascript
kindeditor编辑器点中图片滚动条往上顶的bug
2015/07/05 Javascript
浅析函数声明和函数表达式——函数声明的声明提前
2016/05/03 Javascript
jQuery Easyui 下拉树组件combotree
2016/12/16 Javascript
解决angularJS中input标签的ng-change事件无效问题
2018/09/13 Javascript
Javascript实现时间倒计时功能
2018/11/17 Javascript
生产制造追溯系统之在线打印功能
2019/06/03 Javascript
基于better-scroll 实现歌词联动功能的代码
2020/05/07 Javascript
python端口扫描系统实现方法
2014/11/19 Python
Python的时间模块datetime详解
2017/04/17 Python
使用python PIL库实现简单验证码的去噪方法步骤
2019/05/10 Python
对python中的控制条件、循环和跳出详解
2019/06/24 Python
ERLANG和PYTHON互通实现过程详解
2019/07/05 Python
TensorFlow基于MNIST数据集实现车牌识别(初步演示版)
2019/08/05 Python
Pandas DataFrame中的tuple元素遍历的实现
2019/10/23 Python
为2021年的第一场雪锦上添花:用matplotlib绘制雪花和雪景
2021/01/05 Python
日本无添加化妆品:HABA
2016/08/18 全球购物
人力资源管理专业学生自我评价
2013/11/20 职场文书
高一自我鉴定
2013/12/17 职场文书
幼儿园教师个人反思
2014/01/30 职场文书
新学期国旗下演讲稿
2014/05/08 职场文书
大学生联谊活动策划书(光棍节)
2014/10/10 职场文书
优秀少先队辅导员事迹材料
2014/12/24 职场文书
车辆安全隐患排查制度
2015/08/05 职场文书
pytorch--之halfTensor的使用详解
2021/05/24 Python
美元符号 $
2022/02/17 杂记
css3新特性的应用示例分析
2022/03/16 HTML / CSS
Win11软件图标固定到任务栏
2022/04/19 数码科技