Php如何计算时间差并返回年月日

php计算时间差转换成年月日的功能用途还是十分广泛的,可以用于计算建站时间,年龄,某个时间距离另个时间,等等,计算结果返回 几年几个月几日。

<?PHP
function diffDate($date1,$date2){ 
$datestart= date('Y-m-d',strtotime($date1));
if(strtotime($datestart)>strtotime($date2)){ 
$tmp=$date2; 
$date2=$datestart; 
$datestart=$tmp; 
 } 
list($Y1,$m1,$d1)=explode('-',$datestart); 
list($Y2,$m2,$d2)=explode('-',$date2); 
$Y=$Y2-$Y1; 
$m=$m2-$m1; 
$d=$d2-$d1; 
if($d<0){ 
$d+=(int)date('t',strtotime("-1 month $date2")); 
$m--; 
} 
if($m<0){ 
$m+=12; 
$y--; 
} 
if($Y == 0){
return $m.'个月'.$d.'天';
}elseif($Y == 0 && $m == 0){
return $d.'天';
}else{
return $Y.'年'.$m.'个月'.$d.'天';
}
} 
?>

使用方法:

<?PHP
$catdata="1986-09-28"; //计算时间
echo diffDate($catdata,date('Y-m-d',time()));
?>

结果返回:28年0个月15天。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索时间
js 计算时间差年月日、php 计算时间差、php时间戳计算时间差、php计算两个时间差、php计算时间差 秒,以便于您获取更多的相关知识。

时间: 2025-01-26 23:06:01

Php如何计算时间差并返回年月日的相关文章

在JSP下如何计算时间差_JSP编程

<%@ page contentType="text/html;charset=gb2312"%>  <%@ page import="java.text.*"%>  <%@ page import="java.util.*"%>  <%  //字符串转化成时间类型(字符串可以是任意类型,只要和SimpleDateFormat中的格式一致即可)  java.text.SimpleDateFormat sd

go语言计算两个时间的时间差方法_python

本文实例讲述了go语言计算两个时间的时间差方法.分享给大家供大家参考.具体分析如下: go语言计算两个时间的时间差,代码很简单,返回1天前.1周前还是1月前的时间 package main import ( "fmt" "time" ) func main() { //Add方法和Sub方法是相反的,获取t0和t1的时间距离d是使用Sub //将t0加d获取t1就是使用Add方法 k := time.Now() //一天之前 d, _ := time.ParseDu

python中关于日期时间处理的问答集锦_python

如何在安装setuptools模块时不生成egg压缩包而是源码     Q:如何在安装setuptools模块时不生成egg压缩包而是源码,这样有时可以修改代码进行调试    A:其实很简单,就在setup.py中的setup函数中增加 zip_safe=False, 参数即可.     这样安装后的东西不再是一个egg文件了,而是象以前一样的目录结构.     如何判断一个字符串只包含数字字符    这是在 Python.list 邮件列表上看到的讨论     Q:如何判断一个字符串只包含数字

SQL计算日期之差,精确到天

自己一个人在家,没什么事情做,突然想起很久没有写东西了,于是............. 经常在对两个日期计算时,不仅想得到单独的年月日,想得到其详细信息,即将日期结果精确到天,下面上一个function和一个procedure 用于完成这个功能. 第一个函数版 create function [dbo].[GetYearMonthDayFun]( @begin datetime , @end datetime) returns varchar(50) as begin /* * 功能:计算两个日

MYSQL 函数汇总

数值函数: 名字 描述                                                                                                     ABS() 返回数字表达式的绝对值. ACOS() 返回数字表达式的反余弦值.如果值是不在范围-1到1,则返回NULL. ASIN() 返回数字表达式的反正弦.返回NULL,如果值不在范围-1到1 ATAN() 返回数字表达式的反正切. ATAN2() 返回传递给它的两个变量

Mysql基本用法

#登录数据库 mysql -hlocalhost -uroot -p; #修改密码 mysqladmin -uroot -pold password new;     #显示数据库 show databases; #显示数据表 show tables; #选择数据库 use examples; #创建数据库并设置编码utf-8 多语言 create database `examples` default character set utf8 collate utf8_general_ci; #删

Javascript 日历页面脚本控件

<!-- //---------------------------------------------------------------------------- //  这是WalkingPoison根据梅花雨的日历控件修改发展出来的一个日历 Javascript 页面脚本控件,适用于微软的 IE (5.0以上)浏览器 //  主调用函数是 wpCalendar(this,[object])wpCalendar(this),[object]是控件输出的控件名,举两个例子: //  一.<

如何计算从用户登录到主页加载完得时间差

问题描述 我要做一个从用户登录开始到页面加载完毕过程的时间长而我的思路就是在用户登录的时候从session中获取请求的系统时间,开始计时然后当主页加载完毕的时候停止计时.从而求出时间差.而主页加载完毕时的时间我也不知道该怎么获取. 解决方案 解决方案二:主页加载的时候和服务器之间的请求就结束了,你服务器这端是不知道客户端加载完毕的.除非你再发一次请求.你如果一定要这样做的话,就用JS在页面加载完毕的时候再发送一次请求(利用window.onload).解决方案三:谢谢你的回答,但是当第二次请求发

c#中返回文章发表的时间差的示例_C#教程

复制代码 代码如下:  public static string DateDiff(DateTime DateTime1, DateTime DateTime2)         {             string dateDiff = null;             int date = 0;             try             {                 int year = Convert.ToInt32(DateTime2.ToString("yyy