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 调试利器debug_print_backtrace()
Jul 23 PHP
php使用ereg验证文件上传的方法
Dec 16 PHP
PHP解密Unicode及Escape加密字符串
May 17 PHP
CodeIgniter针对lighttpd服务器URL重写的方法
Jun 10 PHP
基于PHP实现通过照片获取ip地址
Apr 26 PHP
php多线程并发实现方法
Sep 30 PHP
php实现登陆模块功能示例
Oct 20 PHP
详谈php中 strtr 和 str_replace 的效率问题
May 14 PHP
Yii框架实现记录日志到自定义文件的方法
May 23 PHP
PHP实现链式操作的三种方法详解
Nov 16 PHP
使用ucenter实现多站点同步登录的讲解
Mar 21 PHP
laravel框架创建授权策略实例分析
Nov 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
基于文本的访客签到簿
2006/10/09 PHP
Codeigniter实现多文件上传并创建多个缩略图
2014/06/12 PHP
深入浅出php socket编程
2015/05/13 PHP
Yii扩展组件编写方法实例分析
2015/06/29 PHP
Laravel等框架模型关联的可用性浅析
2019/12/15 PHP
在多个页面使用同一个HTML片段的代码
2011/03/04 Javascript
灵活应用js调试技巧解决样式问题的步骤分享
2012/03/15 Javascript
JavaScript判断密码强度(自写代码)
2013/09/06 Javascript
网页运行时提示对象不支持abigimage属性或方法
2014/08/10 Javascript
jQuery实现平滑滚动页面到指定锚点链接的方法
2015/07/15 Javascript
js滚动条平滑移动示例代码
2016/03/29 Javascript
Bootstrap源码学习笔记之bootstrap进度条
2016/12/24 Javascript
利用Plupload.js解决大文件上传问题, 带进度条和背景遮罩层
2017/03/15 Javascript
AngularJS 教程及实例代码
2017/10/23 Javascript
Javascript网页抢红包外挂实现分享
2018/01/11 Javascript
微信小程序6位或多位验证码密码输入框功能的实现代码
2018/05/29 Javascript
vue中设置height:100%无效的问题及解决方法
2018/07/27 Javascript
微信小程序实现多选功能
2018/11/04 Javascript
使用NestJS开发Node.js应用的方法
2018/12/03 Javascript
vue-cli 3 全局过滤器的实例代码详解
2019/06/03 Javascript
nodejs对mongodb数据库的增加修删该查实例代码
2020/01/05 NodeJs
[06:53]2018DOTA2国际邀请赛寻真——为复仇而来的Newbee
2018/08/15 DOTA
[49:21]完美世界DOTA2联赛循环赛 Ink Ice vs LBZS BO2第二场 11.05
2020/11/06 DOTA
Python三级目录展示的实现方法
2016/09/28 Python
python中如何使用分步式进程计算详解
2019/03/22 Python
python模拟菜刀反弹shell绕过限制【推荐】
2019/06/25 Python
Python字符串和正则表达式中的反斜杠('\')问题详解
2019/09/03 Python
python线程信号量semaphore使用解析
2019/11/30 Python
15行Python代码实现免费发送手机短信推送消息功能
2020/02/27 Python
城市规划毕业生求职信
2013/10/10 职场文书
总经理秘书工作职责
2013/12/26 职场文书
技术总监管理职责范本
2014/03/06 职场文书
经济贸易系毕业生求职信
2014/05/31 职场文书
胡桃夹子观后感
2015/06/11 职场文书
apache基于端口创建虚拟主机的示例
2021/04/24 Servers
微信小程序实现拍照和相册选取图片
2021/05/09 Javascript