PHP常用日期加减计算方法实例小结


Posted in PHP onJuly 31, 2018

本文实例总结了PHP常用日期加减计算方法。分享给大家供大家参考,具体如下:

PHP 标准的日期格式

date("Y-m-d H:i:s");

PHP 简单的日期加减计算

<?php
  date_default_timezone_set('PRC'); //默认时区
  echo "今天:",date("Y-m-d",time()),"\n";
  echo "今天:",date("Y-m-d",strtotime("18 june 2008")),"\n";
  echo "昨天:",date("Y-m-d",strtotime("-1 day")),"\n";
  echo "明天:",date("Y-m-d",strtotime("+1 day")),"\n";
  echo "一周后:",date("Y-m-d",strtotime("+1 week")),"\n";
  echo "一周零两天四小时两秒后:",date("Y-m-d G:H:s",strtotime("+1 week 2 days 4 hours 2 seconds")), "\n";
  echo "下个星期四:",date("Y-m-d",strtotime("next Thursday")),"\n";
  echo "上个周一:".date("Y-m-d",strtotime("last Monday"))."\n";
  echo "一个月前:".date("Y-m-d",strtotime("last month"))."\n";
  echo "一个月后:".date("Y-m-d",strtotime("+1 month"))."\n";
  echo "十年后:".date("Y-m-d",strtotime("+10 year"))."\n";
?>

运行结果:

今天:2018-07-31
今天:2008-06-18
昨天:2018-07-30
明天:2018-08-01
一周后:2018-08-07
一周零两天四小时两秒后:2018-08-09 15:15:40
下个星期四:2018-08-02
上个周一:2018-07-30
一个月前:2018-07-01
一个月后:2018-08-31
十年后:2028-07-31

PHP 进阶的日期加减计算

<?php
  // 默认时区
  date_default_timezone_set('PRC');
  echo "今天: ", date('Y-m-d H:i:s'), "\n";    // 输出当前时间
  echo "明天: ", date('Y-m-d H:i:s', strtotime('+1 day')), "\n";    // 输出明天时间
  //strtotime 可以接受第二个参数,类型timestamp为指定日期
  echo date('Y-m-d H:i:s', strtotime ("+1 day", strtotime('2017-11-11'))), "\n";
  // 这里+1 day 可以修改参数1为任何想需要的数
  // day也可以改成year(年)month(月)hour(小时)minute(分)second(秒)
  echo date('Y-m-d H:i:s', strtotime("+1 day +1 hour +1 minute")), "\n";
?>

运行结果:

今天: 2018-07-31 11:37:11
明天: 2018-08-01 11:37:11
2017-11-12 00:00:00
2018-08-01 12:38:11

PHP 高级的计算日期时间差

<?php
  // 默认时区
  date_default_timezone_set('PRC');
  echo date("Y-m-d H:i:s"), "\n";
  // 日期天数相加函数
  echo date('Y-m-d', strtotime('+1 day', strtotime('2016-09-12'))), "\n\n";
  echo strtotime('2016-09-12'), "\n";
  echo date("Y-m-d", '1473609600'), "\n";
  echo date("Y-m-d", '1573609600'), "\n";
  // 日期天数相加函数
  $d = "2016-09-12 10:12:20";
  echo date("Y-m-d", strtotime("$d  +1  day")), "\n\n";
  // 把日期转换成时间截
  function date2time($d){
    $year=((int)substr("$d",0,4)); //取得年份
    $month=((int)substr("$d",5,2)); //取得月份
    $day=((int)substr("$d",8,2));  //取得几号
    return mktime(0,0,0,$month,$day,$year);
  }
  echo date2time("2016-09-12"), "\n\n";
  $date_1="2066-09-12";
  $date_2="2016-09-12";
  $Date_List_a1=explode("-",$date_1);
  $Date_List_a2=explode("-",$date_2);
  $d1=mktime(0,0,0,$Date_List_a1[1],$Date_List_a1[2],$Date_List_a1[0]);
  $d2=mktime(0,0,0,$Date_List_a2[1],$Date_List_a2[2],$Date_List_a2[0]);
  $Days=round(($d1-$d2)/3600/24);
  echo "$date_2 -> $date_1 相差: $Days 天", "\n";
?>

运行结果:

2018-07-31 11:37:39
2016-09-13

1473609600
2016-09-12
2019-11-13
2016-09-13

1473609600

2016-09-12 -> 2066-09-12 相差: -17056 天

PHP 相关文章推荐
php session处理的定制
Mar 16 PHP
PHP+ACCESS 文章管理程序代码
Jun 21 PHP
php图片的裁剪与缩放生成符合需求的缩略图
Jan 11 PHP
PHP处理JSON字符串key缺少双引号的解决方法
Sep 16 PHP
php强制运行广告的方法
Dec 01 PHP
PHP使用逆波兰式计算工资的方法
Jul 29 PHP
php邮箱地址正则表达式验证
Nov 13 PHP
总结PHP中DateTime的常用方法
Aug 11 PHP
详谈PHP中的密码安全性Password Hashing
Feb 04 PHP
php UNIX时间戳用法详解
Feb 16 PHP
php实现购物车功能(以大苹果购物网为例)
Mar 09 PHP
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
Dec 01 PHP
ThinkPHP5.0多个文件上传后找不到临时文件的修改方法
Jul 30 #PHP
PHP笛卡尔积实现算法示例
Jul 30 #PHP
作为PHP程序员你要知道的另外一种日志
Jul 30 #PHP
详解Laravel5.6 Passport实现Api接口认证
Jul 27 #PHP
PHP实现的DES加密解密类定义与用法示例
Nov 02 #PHP
详解laravel安装使用Passport(Api认证)
Jul 27 #PHP
Ubuntu彻底删除PHP7.0的方法
Jul 27 #PHP
You might like
Content-type 的说明
2006/10/09 PHP
工厂模式在Zend Framework中应用介绍
2012/07/10 PHP
php二维码生成
2015/10/19 PHP
thinkphp3.2.3 分页代码分享
2016/07/28 PHP
php中字符串和整数比较的操作方法
2019/06/06 PHP
js动态添加onclick事件可传参数与不传参数
2014/07/29 Javascript
jQuery Ajax 全局调用封装实例代码详解
2016/06/02 Javascript
JavaScript必知必会(三) String .的方法来自何方
2016/06/08 Javascript
D3.js实现文本的换行详解
2016/10/14 Javascript
浅谈html转义及防止javascript注入攻击的方法
2016/12/04 Javascript
js 实现获取name 相同的页面元素并循环遍历的方法
2017/02/14 Javascript
详解在Vue中如何使用axios跨域访问数据
2017/07/07 Javascript
详解Vue 全局引入bass.scss 处理方案
2018/03/26 Javascript
JS+HTML5实现获取手机验证码倒计时按钮
2018/08/08 Javascript
jQuery选择器选中最后一个元素,倒数第二个元素操作示例
2018/12/10 jQuery
Vue起步(无cli)的啊教程详解
2019/04/11 Javascript
使用vue实现通过变量动态拼接url
2020/07/22 Javascript
token 机制和实现方式
2020/12/15 Javascript
[53:15]Newbee vs Pain 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python urls.py的三种配置写法实例详解
2017/04/28 Python
python 生成器协程运算实例
2017/09/04 Python
Python数据结构与算法之链表定义与用法实例详解【单链表、循环链表】
2017/09/28 Python
python 输出上个月的月末日期实例
2018/04/11 Python
django框架自定义用户表操作示例
2018/08/07 Python
python 比较字典value的最大值的几种方法
2020/04/17 Python
浅谈Python中的字符串
2020/06/10 Python
行政管理专业推荐信
2013/11/02 职场文书
家具厂厂长岗位职责
2014/01/01 职场文书
物流专业大学的自我评价
2014/01/11 职场文书
便利店投资的创业计划书
2014/01/12 职场文书
党员岗位承诺口号大全
2014/03/28 职场文书
电子商务系毕业生自荐信
2014/05/29 职场文书
2015小学教师德育工作总结
2015/05/12 职场文书
东京审判观后感
2015/06/01 职场文书
跑吧孩子观后感
2015/06/10 职场文书
JavaWeb Servlet开发注册页面实例
2022/04/11 Java/Android