**PHP倒计时函数、求两个日期时间之间相差的时间函数、计算时差函数_PHP函数笔记**

```php

/**

* 求两个日期时间之间相差的时间

* (针对1970年1月1日之后,求之前可以采用泰勒公式)

* @param string $day1 2016-10-01 10:01:08

* @param string $day2 2020-10-01 10:01:08

* @return list

*/

function diffBetweenTwoDate($start_time, $end_time){

$start = strtotime($start_time);

$stop = strtotime($end_time);

if($start < $stop){

$total_days = ($stop-$start) / 86400;

$result['total_days'] = intval($total_days);

$result['year'] = 0;

$result['month'] = 0;

if($total_days < 7){//如果小于7天直接返回天数

$result['day'] = intval($total_days);

}elseif($total_days <= 31){//小于28天则返回周数,由于闰年2月满足了

if($stop == strtotime($start_time.'+1 month')){

$result['month'] = 1;

}else{

//$w = floor($total_days / 7);

//$d = ($stop - strtotime($start_time.'+'.$w.' week')) / 86400;

//$result['week'] = $w;

//$result['day'] = intval($d);

$result['day'] = intval($total_days);

}

}else{

$y= floor($total_days / 365);

if($y >= 1){//如果超过一年

$start = strtotime($start_time.'+'.$y.'year');

$start_time = date('Y-m-d',$start);

//判断是否真的已经有了一年了,如果没有的话就开减

if($start>$stop){

$start_time = date('Y-m-d',strtotime($start_time.'-1 month'));

$m = 11;

$y--;

}

$total_days = ($stop - strtotime($start_time)) / 86400;

}

if(isset($m)){

$w = floor($total_days / 7);

$d = $total_days-$w * 7;

}else{

$m = isset($m) ? $m : round($total_days / 30);

$stop >= strtotime($start_time.'+'.$m.'month') ? $m : $m--;

if($stop >= strtotime($start_time.'+'.$m.'month')){

$d = $w = ($stop-strtotime($start_time.'+'.$m.'month')) / 86400;

//$w = floor($w / 7);

//$d = $d - $w * 7;

}

}

$result['year'] = $y;

$result['month'] = $m;

//$result['week'] = $w;

$result['day'] = intval(isset($d) ? $d : 0);

}

$result['hours'] = intval((($stop - $start) % 86400) / 3600);

$result['min'] = intval(((($stop - $start) % 86400) % 3600) / 60);

$result['sec'] = ((($stop - $start) % 86400) % 3600) % 60;

}else{

$result['total_days'] = 0;

$result['year'] = 0;

$result['month'] = 0;

$result['day'] = 0;

$result['hours'] = 0;

$result['min'] = 0;

$result['sec'] = 0;

}

//return array_filter($result);

return $result;

}

```

返回字段**年、月、日、时、分、秒**

最后更新于 2019-07-20 16:39:20 并被添加「倒计时 php函数笔记」标签,已有 14971 位童鞋阅读过。

本站使用「署名 4.0 国际」创作共享协议,可自由转载、引用,但需署名作者且注明文章出处

相关文章

php日期相减函数,倒计时函数_计算两个时间相差值_PHP函数相关推荐

  1. java如何计算时间天数差,java计算两个时间相差天数的方法汇总

    问题描述: 输入:两个日期 输出:两个日期相差的天数 具体代码实现 方法1: 通过calendar类的日期比较.注意:这里需要考虑一下: 日期是跨年份的,如一个是2012年,一个是2015年的 年份是 ...

  2. java获取时间戳(计算两个时间相差几天几小时几秒,获取当前日期是周几。。。)

    java时间相关 博主所有博客都是验证过的 获取一个时间的时间戳 //获取当前时间戳Calendar cal1 = Calendar.getInstance();cal1.setTime(new Da ...

  3. java计算两个时间相差几个月

    //计算两个时间相差几个月public int getMonth(Date start, Date end) {if (start.after(end)) {Date t = start;start ...

  4. 在线计算两个时间相差多少秒,分钟,天

    在线计算两个时间相差多少秒,分钟,天 在线计算两个时间相差多少秒,分钟,天 本工具支持对两个格式过后的时间计算相差的天数,小时数,分钟数,秒数,毫秒数. 本工具支持对两个格式过后的时间计算相差的天数, ...

  5. 计算两个时间相差的工作日(附带查询api接口)

    /*** 两个日期相减* @param beginDateStr* @param endDateStr* @return*/ public static long getDaySub(String b ...

  6. 计算两个时间相差多少时间--天、小时、分、秒

    /*** 计算两个时间之间相差的时间* @param oneDate * @param otherDate* @param diffName day:天, hour: 小时, min: 分, sec: ...

  7. php 日期相减 时分秒,PHP计算两个时间戳间隔的日时分秒的代码实例

    关于PHP计算两个时间戳之间相差的日时分秒的代码 下面是PHP计算两个时间戳间隔的日时分秒的代码实例的相关内容,文章教程主要讲述与时间戳 间隔 分秒 相关的一些技术与知识,更多的内容欢迎大家访问htt ...

  8. php 时间间隔月数,PHP计算两个时间相差的年数、月数和天数程序

    计算时间差我们原理是根据定义1.一年为360天,一个月为30天:2.代码中86400=24*60*60,代表一天中共有多少秒,这样就可以计算出来了 效果如下 代码如下,需要说明的是:1.定义一年为36 ...

  9. java计算两个时间相差天数的方法

    方法1: 通过Calendar类的日期比较.注意:这里需要考虑一下: 日期是跨年份的,如一个是2012年,一个是2015年的 年份是分闰年和平年的,各自的天数不同 /**  * date2比date1 ...

最新文章

  1. 为 springboot 添加 debug功能
  2. 华为p40鸿蒙系统价格有好高,鸿蒙系统版本华为P50新机的曝光,华为P40处境悲惨价格骤降...
  3. 微软向Chromium贡献代码以优化浏览器滚动体验
  4. 前端学习(2994):vue+element今日头条管理--初始化目录结构
  5. 一行代码,揭开 CPU 执行原理!
  6. 开发 问卷调查案例_云南泸沽湖摩梭文化原真性保持与旅游开发协调研究
  7. 吴恩达深度学习CNN作业:Convolutional Neural Networks: Step by Step
  8. windows操作系统自带的端口TCP转发
  9. 圈圈教你玩usb第一版硬件实物使用说明
  10. opensips脚本转换
  11. linux san网络,教你如何DIY SAN存储网络
  12. Unity Shader-GodRay,体积光(BillBoard,Volume Shadow,Raidal Blur,Ray-Marching)
  13. 第075封“情书”:百撕不得其解Tearing Cloth<Entagma>Houdini 2018
  14. Android系统 小米/三星/索尼 应用启动图标未读消息数(BadgeNumber)动态提醒
  15. mediastreamer使用教程
  16. ctfhub中Git泄露-log
  17. Verilog分频器的设计(6分频和1.5分频)
  18. Java募捐_GitHub - javayhu/XingShan: 使徒行善,让行善成为一种习惯
  19. 如何使用云服务器进行系统设置,云服务器怎么设置管理员
  20. Alibaba的COBAR真是强大

热门文章

  1. 797B. Odd sum
  2. java peek函数_基础篇:JAVA.Stream函数,优雅的数据流操作
  3. Linux修改开机启动logo
  4. oracle中exp/imp讲解
  5. java游戏服务器面试_我做游戏开发这八年
  6. 载波聚合或双连接的方式进行_智能电表常用远程抄表方式,您想知道吗?--老兵聊电之...
  7. 【转】.net异步性能测试(包括ASP.NET MVC WebAPI异步方法)
  8. 如何重新安装 Linux 的操作管理套件 (OMS) 代理
  9. Sharepoint域账户,运行Power Shell报错
  10. 一步步编写操作系统 37 一级页表与虚拟地址2