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
PHP中冒号、endif、endwhile、endfor使用介绍
Apr 28 PHP
PHP array操作10个小技巧分享
Jun 23 PHP
PHP在线生成二维码代码(google api)
Jun 03 PHP
PHP设计模式之结构模式的深入解析
Jun 13 PHP
PHP中使用strpos函数实现屏蔽敏感关键字功能
Aug 21 PHP
Laravel中使用阿里云OSS Composer包分享
Feb 10 PHP
php使用unset()删除数组中某个单元(键)的方法
Feb 17 PHP
thinkphp3.x中变量的获取和过滤方法详解
May 20 PHP
thinkphp5 加载静态资源路径与常量的方法
Dec 24 PHP
PHP7 mongoDB扩展使用的方法分享
May 02 PHP
laravel 解决后端无法获取到前端Post过来的值问题
Oct 22 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
制作美丽的拉花
2021/03/03 冲泡冲煮
PHP开发Apache服务器配置
2015/07/15 PHP
php验证手机号码
2015/11/11 PHP
Yii 访问 Gii(脚手架)时出现 403 错误
2018/06/06 PHP
laravel框架中视图的基本使用方法分析
2019/11/23 PHP
window.location和document.location的区别分析
2008/12/23 Javascript
javascript 读取XML数据,在页面中展现、编辑、保存的实现
2009/10/27 Javascript
关于Javascript与iframe的那些事儿
2013/07/04 Javascript
Jquery中children与find之间的区别详细解析
2013/11/29 Javascript
使用JQuery快速实现Tab的AJAX动态载入(实例讲解)
2013/12/11 Javascript
ActiveX控件与Javascript之间的交互示例
2014/06/04 Javascript
jquery显示隐藏input对象
2014/07/21 Javascript
Javascript常用字符串判断函数代码分享
2014/12/08 Javascript
jQuery实现ichat在线客服插件
2014/12/29 Javascript
jquery实现Ctrl+Enter提交表单的方法
2015/07/21 Javascript
jQuery中的AjaxSubmit使用讲解
2016/09/25 Javascript
使用JavaScript获取URL中的参数(两种方法)
2016/11/16 Javascript
jq给页面添加覆盖层遮罩的实例
2017/02/16 Javascript
Javascript中click与blur事件的顺序详析
2017/04/25 Javascript
利用node.js实现自动生成前端项目组件的方法详解
2017/07/12 Javascript
javascript实现鼠标点击生成文字特效
2019/12/24 Javascript
python 简易计算器程序,代码就几行
2009/08/29 Python
python回调函数的使用方法
2014/01/23 Python
Python数组定义方法
2016/04/13 Python
python 换位密码算法的实例详解
2017/07/19 Python
详解django2中关于时间处理策略
2019/03/06 Python
python实现高斯(Gauss)迭代法的例子
2019/11/20 Python
python快速排序的实现及运行时间比较
2019/11/22 Python
HTML5 Canvas实现烟花绽放特效
2016/03/02 HTML / CSS
台湾时尚彩瞳专门店:imeime
2019/08/16 全球购物
少先队学雷锋活动总结范文
2014/03/09 职场文书
厉行勤俭节约倡议书
2014/05/16 职场文书
个人租房协议书
2014/11/28 职场文书
大学毕业论文致谢词
2015/05/14 职场文书
学子宴致辞大全
2015/07/27 职场文书
感恩教育主题班会
2015/08/12 职场文书