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学习笔记 [预定义数组(超全局数组)]
Jun 09 PHP
php中一个有意思的日期逻辑处理
Mar 25 PHP
PHP应用JSON技巧讲解
Feb 03 PHP
PHP遍历并打印指定目录下所有文件实例
Feb 10 PHP
PHP调用.NET的WebService 简单实例
Mar 27 PHP
PHP+Ajax验证码验证用户登录
Jul 20 PHP
PHP读取大文件的几种方法介绍
Oct 27 PHP
PHP实现的XML操作类【XML Library】
Dec 29 PHP
PHP微信企业号开发之回调模式开启与用法示例
Nov 25 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
Feb 06 PHP
PHP利用curl发送HTTP请求的实例代码
Jul 09 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之第十天
2006/10/09 PHP
PHP 定界符 使用技巧
2009/06/14 PHP
php 批量替换html标签的实例代码
2013/11/26 PHP
php上传图片之时间戳命名(保存路径)
2014/08/15 PHP
PHP使用pdo连接access数据库并循环显示数据操作示例
2018/06/05 PHP
js模仿windows桌面图标排列算法具体实现(附图)
2013/06/16 Javascript
使用js实现按钮控制文本框加1减1应用于小时+分钟
2013/12/09 Javascript
从QQ网站中提取的纯JS省市区三级联动菜单
2013/12/25 Javascript
jQuery实现带动画效果的多级下拉菜单代码
2015/09/08 Javascript
AngularJS实现元素显示和隐藏的几个案例
2015/12/09 Javascript
jQuery判断checkbox选中状态
2016/05/12 Javascript
基于MVC5和Bootstrap的jQuery TreeView树形控件(一)之数据支持json字符串、list集合
2016/08/11 Javascript
微信公众号  提示:Unauthorized API function 问题解决方法
2016/12/05 Javascript
AngularJS实现表单验证功能
2017/01/09 Javascript
基于JS实现二维码图片固定在右下角某处并跟随滚动条滚动
2017/02/08 Javascript
详解Node使用Puppeteer完成一次复杂的爬虫
2018/04/18 Javascript
iview同时验证多个表单问题总结
2018/09/29 Javascript
Vue源码探究之状态初始化
2018/11/14 Javascript
Vue+iview+webpack ie浏览器兼容简单处理
2019/09/20 Javascript
javascript实现贪吃蛇小练习
2020/07/05 Javascript
Javascript柯里化实现原理及作用解析
2020/10/22 Javascript
详解为什么Vue中的v-if和v-for不建议一起用
2021/01/13 Vue.js
python抓取网页中的图片示例
2014/02/28 Python
学习python类方法与对象方法
2016/03/15 Python
简单谈谈python中的多进程
2016/11/06 Python
python 不以科学计数法输出的方法
2018/07/16 Python
朴素贝叶斯Python实例及解析
2018/11/19 Python
Python图像处理PIL各模块详细介绍(推荐)
2019/07/17 Python
Python版中国省市经纬度
2020/02/11 Python
简单了解django处理跨域请求最佳解决方案
2020/03/25 Python
Django-rest-framework中过滤器的定制实例
2020/04/01 Python
升级keras解决load_weights()中的未定义skip_mismatch关键字问题
2020/06/12 Python
英国计算机商店:Technextday
2019/12/28 全球购物
海南召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
药店营业员岗位职责
2015/04/14 职场文书
vue实现列表垂直无缝滚动
2022/04/08 Vue.js