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 相关文章推荐
用户的详细注册和判断
Oct 09 PHP
discuz论坛 用户登录 后台程序代码
Nov 27 PHP
php结合飞信 免费天气预报短信
May 07 PHP
PHP无刷新上传文件实现代码
Sep 19 PHP
解决file_get_contents无法请求https连接的方法
Dec 17 PHP
php中sprintf与printf函数用法区别解析
Feb 17 PHP
php中AES加密解密的例子小结
Feb 18 PHP
PHP多维数组元素操作类的方法
Nov 14 PHP
ZendFramework框架实现连接两个或多个数据库的方法
Dec 08 PHP
Laravel框架路由和控制器的绑定操作方法
Jun 12 PHP
PHP利用百度ai实现文本和图片审核
May 08 PHP
php引用传递
Apr 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
神族 Protoss 历史背景
2020/03/14 星际争霸
javascript下过滤数组重复值的代码
2007/09/10 Javascript
基于JQuery的密码强度验证代码
2010/03/01 Javascript
jQuery选中select控件 无法设置selected的解决方法
2010/09/01 Javascript
数组方法解决JS字符串连接性能问题有争议
2011/01/12 Javascript
40款非常有用的 jQuery 插件推荐(系列一)
2011/12/21 Javascript
jQuery+CSS3实现树叶飘落特效
2015/02/01 Javascript
向JavaScript的数组中添加元素的方法小结
2015/10/24 Javascript
node.js回调函数之阻塞调用与非阻塞调用
2015/11/13 Javascript
一步一步封装自己的HtmlHelper组件BootstrapHelper(三)
2016/09/14 Javascript
Bootstrap源码解读下拉菜单(4)
2016/12/23 Javascript
获取当前按钮或者html的ID名称实例(推荐)
2017/06/23 Javascript
webpack实现热加载自动刷新的方法
2017/07/30 Javascript
分享Bootstrap简单表格、表单、登录页面
2017/08/04 Javascript
JS校验与最终登陆界面功能完整示例
2020/01/13 Javascript
OpenLayers3实现鼠标移动显示坐标
2020/09/25 Javascript
[05:22]DOTA2 2015国际邀请赛中国区预选赛首日TOP10
2015/05/26 DOTA
在Django中创建第一个静态视图
2015/07/15 Python
python操作 hbase 数据的方法
2016/12/18 Python
解决pycharm的Python console不能调试当前程序的问题
2019/01/20 Python
PyQt5+requests实现车票查询工具
2019/01/21 Python
selenium获取当前页面的url、源码、title的方法
2019/06/12 Python
python3.6环境下安装freetype库和基本使用方法(推荐)
2020/05/10 Python
Python操作Excel的学习笔记
2021/02/18 Python
办公室文秘岗位职责
2013/11/15 职场文书
医科大学生的自我评价
2013/12/04 职场文书
员工培训邀请函
2014/02/02 职场文书
幼儿园门卫岗位职责
2014/02/14 职场文书
人事代理委托书
2014/09/27 职场文书
开展党的群众路线教育实践活动总结报告
2014/10/31 职场文书
2015年公司新年寄语
2014/12/08 职场文书
2014年银行年终工作总结
2014/12/19 职场文书
2015年销售工作总结范文
2015/03/30 职场文书
催款律师函范文
2015/05/27 职场文书
听课评课活动心得体会
2016/01/15 职场文书
电脑关机速度很慢怎么办 提升电脑关机速度设置教程
2022/04/08 数码科技