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 5.3.1 安装包 VC9 VC6不同版本的区别是什么
Jul 04 PHP
PHP开发需要注意的安全问题
Sep 01 PHP
php对包含html标签的字符串进行截取的函数分享
Jun 19 PHP
PHP实现生成透明背景的PNG缩略图函数分享
Jul 08 PHP
Laravel 5框架学习之Eloquent (laravel 的ORM)
Apr 08 PHP
php需登录的文件上传管理系统
Mar 21 PHP
php输出含有“#”字符串的方法
Jan 18 PHP
老生常谈PHP面向对象之命令模式(必看篇)
May 24 PHP
thinkPHP框架实现多表查询的方法
Jun 14 PHP
实例讲解php将字符串输出到HTML
Jan 27 PHP
PHP封装的简单连接MongoDB类示例
Feb 13 PHP
php解决crontab定时任务不能写入文件问题的方法分析
Sep 16 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
PHP中“简单工厂模式”实例代码讲解
2012/09/04 PHP
jQuery数据缓存用法分析
2015/02/20 Javascript
基于Angularjs实现分页功能
2016/05/30 Javascript
基于Node.js的WebSocket通信实现
2017/03/11 Javascript
vue.js在标签属性中插入变量参数的方法
2018/03/06 Javascript
Vue中mintui的field实现blur和focus事件的方法
2018/08/25 Javascript
jQuery事件blur()方法的使用实例讲解
2019/03/30 jQuery
独立部署小程序基于nodejs的服务器过程详解
2019/06/24 NodeJs
解决vue单页面修改样式无法覆盖问题
2019/08/05 Javascript
[01:03]悬念揭晓 11月26日DOTA2完美盛典不见不散
2017/11/23 DOTA
python编程开发之类型转换convert实例分析
2015/11/13 Python
Python实现二叉树结构与进行二叉树遍历的方法详解
2016/05/24 Python
浅谈Python类里的__init__方法函数,Python类的构造函数
2016/12/10 Python
基于Django URL传参 FORM表单传数据 get post的用法实例
2018/05/28 Python
Django配置celery(非djcelery)执行异步任务和定时任务
2018/07/16 Python
利用Python如何批量修改数据库执行Sql文件
2018/07/29 Python
Python脚本完成post接口测试的实例
2018/12/17 Python
pandas中的series数据类型详解
2019/07/06 Python
python实现windows倒计时锁屏功能
2019/07/30 Python
详解如何减少python内存的消耗
2019/08/09 Python
python飞机大战pygame碰撞检测实现方法分析
2019/12/17 Python
python3.4中清屏的处理方法
2020/07/06 Python
python调用私有属性的方法总结
2020/07/24 Python
PyCharm+PyQt5+QtDesigner配置详解
2020/08/12 Python
Python json解析库jsonpath原理及使用示例
2020/11/25 Python
css3 border-image使用说明
2010/06/23 HTML / CSS
css3 2D图片转动样式可以扩充到Js当中
2014/04/29 HTML / CSS
英国航空官网:British Airways
2016/09/11 全球购物
苹果台湾官网:Apple台湾
2019/01/05 全球购物
策划助理岗位职责
2013/11/18 职场文书
经典演讲稿开场白
2014/08/25 职场文书
民事辩护词范文
2015/05/21 职场文书
开学第一周日记(三篇范文)
2019/08/23 职场文书
详解CSS伪元素的妙用单标签之美
2021/05/25 HTML / CSS
springboot应用服务启动事件的监听实现
2022/04/06 Java/Android
使用CSS实现音波加载效果
2023/05/07 HTML / CSS