zoukankan      html  css  js  c++  java
  • PHP常用日期加减计算方法实例

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

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

    PHP 标准的日期格式

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

    PHP 简单的日期加减计算如下:

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

    运行结果:

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

    运行结果:

    今天: 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"), " ";
      // 日期天数相加函数
      echo date('Y-m-d', strtotime('+1 day', strtotime('2016-09-12'))), " ";
      echo strtotime('2016-09-12'), " ";
      echo date("Y-m-d", '1473609600'), " ";
      echo date("Y-m-d", '1573609600'), " ";
      // 日期天数相加函数
      $d = "2016-09-12 10:12:20";
      echo date("Y-m-d", strtotime("$d  +1  day")), " ";
      // 把日期转换成时间截
      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"), " ";
      $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 天", " ";
    ?>
     

    运行结果:

    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 天

  • 相关阅读:
    Sql2000存储过程分页
    扇贝网页记单词插件
    notepad++正则替换保留原内容
    给 QuickTime 播放器添加快进x秒,快退x秒
    谷歌浏览器隐私设置错误 NET::ERR_CERT_AUTHORITY_INVALID 攻击者可能会试图从 xx 窃取您的信息(例如:密码、通讯内容或信用卡信息)。
    Java实体映射工具MapStruct 与BeanUtils性能比较
    阿里DDD项目最佳实践-COLA 架构总览
    Java实体映射工具MapStruct详解
    Martin Fowler大神
    领域模型的核心本质是什么?
  • 原文地址:https://www.cnblogs.com/xwyphp/p/9626354.html
Copyright © 2011-2022 走看看