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 相关文章推荐
BBS(php &amp; mysql)完整版(八)
Oct 09 PHP
处理php自动反斜杠的函数代码
Jan 05 PHP
浏览器关闭后,能继续执行的php函数(ignore_user_abort)
Aug 01 PHP
解析PHP中intval()等int转换时的意外异常情况
Jun 21 PHP
php 使用file_get_contents读取大文件的方法
Nov 13 PHP
php使用SAE原生Mail类实现各种类型邮件发送的方法
Oct 10 PHP
PHP+Ajax实现的无刷新分页功能详解【附demo源码下载】
Jul 03 PHP
Laravel框架执行原生SQL语句及使用paginate分页的方法
Aug 17 PHP
PHP中将一个字符串部分字符用星号*替代隐藏的实现代码
Sep 08 PHP
使用git迁移Laravel项目至新开发环境的步骤详解
Apr 06 PHP
PHP 扩展Memcached命令用法实例总结
Jun 04 PHP
php redis setnx分布式锁简单原理解析
Oct 23 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
PHP函数addslashes和mysql_real_escape_string的区别
2014/04/22 PHP
PHP实现返回JSON和XML的类分享
2015/01/28 PHP
php数组转成json格式的方法
2015/03/09 PHP
PHP中余数、取余的妙用
2015/06/29 PHP
ThinkPHP3.1.x修改成功与失败跳转页面的方法
2017/09/29 PHP
PHP 中魔术常量的实例详解
2017/10/26 PHP
laravel5 Eloquent 实现事务方式
2019/10/21 PHP
IE中createElement需要注意的一个问题
2010/07/13 Javascript
(function($){...})(jQuery)的意思
2010/07/22 Javascript
jquery异步循环获取功能实现代码
2010/09/19 Javascript
基于JQuery的浮动DIV显示提示信息并自动隐藏
2011/02/11 Javascript
jQuery 过滤not()与filter()实例代码
2012/05/10 Javascript
window.open打开页面居中显示的示例代码
2013/12/27 Javascript
在css加载完毕后自动判断页面是否加入css或js文件
2014/09/10 Javascript
实例讲解Jquery中隐藏hide、显示show、切换toggle的用法
2016/05/13 Javascript
Bootstrap实现各种进度条样式详解
2017/04/13 Javascript
bootstrap table服务端实现分页效果
2017/08/10 Javascript
利用javascript如何随机生成一定位数的密码
2017/09/22 Javascript
详解React项目的服务端渲染改造(koa2+webpack3.11)
2018/03/19 Javascript
JavaScript中var、let、const区别浅析
2018/06/24 Javascript
如何利用 JS 脚本实现网页全自动秒杀抢购功能
2020/10/12 Javascript
python Celery定时任务的示例
2018/03/13 Python
python实现雨滴下落到地面效果
2018/06/21 Python
澳大利亚电子产品购物网站:Dick Smith
2017/02/02 全球购物
澳大利亚墨尔本的在线时装店:LORETA
2018/09/14 全球购物
求职简历的自我评价怎样写好
2013/10/07 职场文书
授权委托书怎么写
2014/04/03 职场文书
ktv好的活动方案
2014/08/17 职场文书
委托书怎样写
2014/08/30 职场文书
社区好人好事材料
2014/12/26 职场文书
2015年党员创先争优承诺书
2015/01/22 职场文书
稽核岗位职责
2015/02/10 职场文书
社区党建工作总结2015
2015/05/13 职场文书
小学秋季运动会通讯稿
2015/11/25 职场文书
一文搞懂Golang 时间和日期相关函数
2021/12/06 Golang