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

 更新时间:2018年07月31日 11:18:42   作者:阳光岛主  
这篇文章主要介绍了PHP常用日期加减计算方法,结合实例形式总结分析了php日期计算常见的时区设置、date日期转换、计算等相关操作技巧,需要的朋友可以参考下

本文实例总结了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 天

PS:这里再为大家推荐几款时间及日期相关工具供大家参考:

在线日期/天数计算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi

在线日期计算器/相差天数计算器:
http://tools.jb51.net/jisuanqi/datecalc

在线日期天数差计算器:
http://tools.jb51.net/jisuanqi/onlinedatejsq

Unix时间戳(timestamp)转换工具:
http://tools.jb51.net/code/unixtime

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php日期与时间用法总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》及《php字符串(string)用法总结

希望本文所述对大家PHP程序设计有所帮助。

相关文章

  • php控制文件下载速度的方法

    php控制文件下载速度的方法

    这篇文章主要介绍了php控制文件下载速度的方法,实例分析了php操作文件的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • ThinkPHP的RBAC(基于角色权限控制)深入解析

    ThinkPHP的RBAC(基于角色权限控制)深入解析

    本篇文章是对ThinkPHP的RBAC(基于角色权限控制)进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • 采集邮箱的php代码(抓取网页中的邮箱地址)

    采集邮箱的php代码(抓取网页中的邮箱地址)

    由于搞了个群发邮件的程序,当然没邮箱不行,所以写了个采集邮箱程序
    2012-07-07
  • PHP Reflection API详解

    PHP Reflection API详解

    这篇文章主要介绍了PHP Reflection API详解,本文讲解了Reflection类、ReflectionException类、ReflectionFunction类、ReflectionParameter类、ReflectionClass类、ReflectionMethod类等内容,需要的朋友可以参考下
    2015-05-05
  • php中通过eval实现字符串格式的计算公式

    php中通过eval实现字符串格式的计算公式

    有时候我们对每一种产品都有一个提成公式,而这个计算提成的公式是以字符串格式存在表中的,当我们用这个计算公式时,他并不像我们写的:$a=2+3*5;这样简单的能计算出结果,而它是个字符串,所以,我们就必须把字符串转化为我们能够处理的结果
    2017-03-03
  • Yii2框架整合Xunsearch搜索引擎的方法

    Yii2框架整合Xunsearch搜索引擎的方法

    这篇文章主要介绍了Yii2框架整合Xunsearch搜索引擎的方法,结合实例形式分析了Yii2框架整合Xunsearch的具体步骤与相关注意事项,需要的朋友可以参考下
    2016-10-10
  • PHP折半(二分)查找算法实例分析

    PHP折半(二分)查找算法实例分析

    这篇文章主要介绍了PHP折半(二分)查找算法,结合实例形式较为详细的分析了php折半(二分)查找算法的概念、原理、实现与使用方法,并附带了一个php折半(二分)查找算法类供大家参考,需要的朋友可以参考下
    2018-05-05
  • php单例模式实现方法分析

    php单例模式实现方法分析

    这篇文章主要介绍了php单例模式,实例分析了单例模式的原理与实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • php实现给二维数组中所有一维数组添加值的方法

    php实现给二维数组中所有一维数组添加值的方法

    这篇文章主要介绍了php实现给二维数组中所有一维数组添加值的方法,涉及php针对数组的遍历、转换、赋值等相关操作技巧,需要的朋友可以参考下
    2017-02-02
  • PHP原理之异常机制深入分析

    PHP原理之异常机制深入分析

    在PHP每一个可独立执行的op array最后的ZEND_HANDLE_EXCEPTION是用来干什么呢?
    2010-08-08

最新评论