php日期相减函数,倒计时函数_计算两个时间相差值_PHP函数
**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函数相关推荐
- java如何计算时间天数差,java计算两个时间相差天数的方法汇总
问题描述: 输入:两个日期 输出:两个日期相差的天数 具体代码实现 方法1: 通过calendar类的日期比较.注意:这里需要考虑一下: 日期是跨年份的,如一个是2012年,一个是2015年的 年份是 ...
- java获取时间戳(计算两个时间相差几天几小时几秒,获取当前日期是周几。。。)
java时间相关 博主所有博客都是验证过的 获取一个时间的时间戳 //获取当前时间戳Calendar cal1 = Calendar.getInstance();cal1.setTime(new Da ...
- java计算两个时间相差几个月
//计算两个时间相差几个月public int getMonth(Date start, Date end) {if (start.after(end)) {Date t = start;start ...
- 在线计算两个时间相差多少秒,分钟,天
在线计算两个时间相差多少秒,分钟,天 在线计算两个时间相差多少秒,分钟,天 本工具支持对两个格式过后的时间计算相差的天数,小时数,分钟数,秒数,毫秒数. 本工具支持对两个格式过后的时间计算相差的天数, ...
- 计算两个时间相差的工作日(附带查询api接口)
/*** 两个日期相减* @param beginDateStr* @param endDateStr* @return*/ public static long getDaySub(String b ...
- 计算两个时间相差多少时间--天、小时、分、秒
/*** 计算两个时间之间相差的时间* @param oneDate * @param otherDate* @param diffName day:天, hour: 小时, min: 分, sec: ...
- php 日期相减 时分秒,PHP计算两个时间戳间隔的日时分秒的代码实例
关于PHP计算两个时间戳之间相差的日时分秒的代码 下面是PHP计算两个时间戳间隔的日时分秒的代码实例的相关内容,文章教程主要讲述与时间戳 间隔 分秒 相关的一些技术与知识,更多的内容欢迎大家访问htt ...
- php 时间间隔月数,PHP计算两个时间相差的年数、月数和天数程序
计算时间差我们原理是根据定义1.一年为360天,一个月为30天:2.代码中86400=24*60*60,代表一天中共有多少秒,这样就可以计算出来了 效果如下 代码如下,需要说明的是:1.定义一年为36 ...
- java计算两个时间相差天数的方法
方法1: 通过Calendar类的日期比较.注意:这里需要考虑一下: 日期是跨年份的,如一个是2012年,一个是2015年的 年份是分闰年和平年的,各自的天数不同 /** * date2比date1 ...
最新文章
- 为 springboot 添加 debug功能
- 华为p40鸿蒙系统价格有好高,鸿蒙系统版本华为P50新机的曝光,华为P40处境悲惨价格骤降...
- 微软向Chromium贡献代码以优化浏览器滚动体验
- 前端学习(2994):vue+element今日头条管理--初始化目录结构
- 一行代码,揭开 CPU 执行原理!
- 开发 问卷调查案例_云南泸沽湖摩梭文化原真性保持与旅游开发协调研究
- 吴恩达深度学习CNN作业:Convolutional Neural Networks: Step by Step
- windows操作系统自带的端口TCP转发
- 圈圈教你玩usb第一版硬件实物使用说明
- opensips脚本转换
- linux san网络,教你如何DIY SAN存储网络
- Unity Shader-GodRay,体积光(BillBoard,Volume Shadow,Raidal Blur,Ray-Marching)
- 第075封“情书”:百撕不得其解Tearing Cloth<Entagma>Houdini 2018
- Android系统 小米/三星/索尼 应用启动图标未读消息数(BadgeNumber)动态提醒
- mediastreamer使用教程
- ctfhub中Git泄露-log
- Verilog分频器的设计(6分频和1.5分频)
- Java募捐_GitHub - javayhu/XingShan: 使徒行善,让行善成为一种习惯
- 如何使用云服务器进行系统设置,云服务器怎么设置管理员
- Alibaba的COBAR真是强大
热门文章
- 797B. Odd sum
- java peek函数_基础篇:JAVA.Stream函数,优雅的数据流操作
- Linux修改开机启动logo
- oracle中exp/imp讲解
- java游戏服务器面试_我做游戏开发这八年
- 载波聚合或双连接的方式进行_智能电表常用远程抄表方式,您想知道吗?--老兵聊电之...
- 【转】.net异步性能测试(包括ASP.NET MVC WebAPI异步方法)
- 如何重新安装 Linux 的操作管理套件 (OMS) 代理
- Sharepoint域账户,运行Power Shell报错
- 一步步编写操作系统 37 一级页表与虚拟地址2