phpphp 两个日期相差天数距离多少天

在做类似OA这种项目的时候,可能会碰到计算一个员工工龄的情况,这个时候仅仅精确到年或者精确到月是不够的,下面分享一个精确到多少天的函数。可以显示为类似相隔1年25天这种形式的。
&&&&&&function&diffDate($date1,$date2){&&&&&if(strtotime($date1)&strtotime($date2)){&&&&&&&&&$tmp=$date2;&&&&&&&&&$date2=$date1;&&&&&&&&&$date1=$tmp;&&&&&}&&&&&list($Y1,$m1,$d1)=explode('-',$date1);&&&&&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--;&&&&&}&&&&&return&array('year'=&$Y,'month'=&$m,'day'=&$d);&}&
该函数使用方法如下:
echo&'&pre&';print_r(diffDate('',''));&
打印结果如下:
Array&(&&&&&[year]&=&&1&&&&&[month]&=&&0&&&&&[day]&=&&26&)&
也许你会喜欢和关注与本文内容高度相关的文章:
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)php计算两个时间差并返回差多少天、时、分、秒
本函数实现两个unix时间戳的差,并返回两个时间戳相差的天、小时、分、秒,精确到秒,两个参数都是时间戳,虽然代码很简单,但是很实用。
function timediff($begin_time,$end_time)
if($begin_time & $end_time){
$starttime = $begin_
$endtime = $end_
$starttime = $end_
$endtime = $begin_
$timediff = $endtime-$
$days = intval($timediff/86400);
$remain = $timediff%86400;
$hours = intval($remain/3600);
$remain = $remain%3600;
$mins = intval($remain/60);
$secs = $remain%60;
$res = array(&day& =& $days,&hour& =& $hours,&min& =& $mins,&sec& =& $secs);在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
标签:至少1个,最多5个
第一种方法,使用PHP类库实现
* function:计算两个日期相隔多少年,多少月,多少天
* param string $date1[格式如:]
* param string $date2[格式如:]
* return array array('年','月','日');
function diffDate($date1,$date2)
$datetime1 = new \DateTime($date1);
$datetime2 = new \DateTime($date2);
$interval = $datetime1-&diff($datetime2);
$time['y']
= $interval-&format('%Y');
$time['m']
= $interval-&format('%m');
$time['d']
= $interval-&format('%d');
$time['h']
= $interval-&format('%H');
$time['i']
= $interval-&format('%i');
$time['s']
= $interval-&format('%s');
$time['a']
= $interval-&format('%a');
// 两个时间相差总天数
# 使用实例
$sss = diffDate(' 12:30:30', ' 15:00:00');
print_r($sss);
第二种方法,使用函数实现(还在测试中....)
// 计算两个时间相差(时分秒)
$aaa = strtotime(' 16:33:33');
$bbb = $aaa-time();
echo gmstrftime('%Y %m %d %H:%M:%S',$aaa);
$left_time = 86400 - time()+strtotime($orderInfo['create_time']);
echo:gmstrftime('%H:%M:%S',$left_time);
0 收藏&&|&&2
你可能感兴趣的文章
3 收藏,411
6 收藏,577
3 收藏,311
DateTime类果然方便
DateTime类果然方便
哈哈,是的啊
哈哈,是的啊
分享到微博?
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。请教谁有获取指定日期的前几天的日期方法,多谢 - PHP当前位置:& &&&请教谁有获取指定日期的前几天的日期方法,多谢请教谁有获取指定日期的前几天的日期方法,多谢www.MyException.Cn&&网友分享于:&&浏览:195次请问哪位高手有获取指定日期的前几天的日期方法,谢谢!请问哪位高手有获得指定日期的前几天的日期的方法,不是使用date(&Y-m-d&, strtotime(&-5 day&)),其中的“Y-m-d”要被一个日期值变量替代。谢谢!!!------解决方案--------------------你的意思是不是变星的格式是
Y-m-d H:i:s
,所以你才不会用date(&Y-m-d&, strtotime(&-5 day&)),
如果是这样的话,你先把前面的格式用时间函数格式化。再用这个函数就可以了。
我不是很明白楼主的意思
------解决方案--------------------
date(&Y-m-d&, strtotime(&-5 day&))是今天的前5天那么$d = '';echo date(&Y-m-d&, strtotime(&-5 day $d&));是不是
的5天前呢?
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有>> PHP 日期和时间
PHP 日期和时间
PHP date() 函数用于对日期或时间进行格式化。
PHP Date() 函数
PHP Date() 函数把时间戳格式化为更易读的日期和时间。
date(format,timestamp)
必需。规定时间戳的格式。
可选。规定时间戳。默认是当前时间和日期。
注释:时间戳是一种字符序列,它表示具体事件发生的日期和事件。
获得简单的日期
date() 函数的格式参数是必需的,它们规定如何格式化日期或时间。
下面列出了一些常用于日期的字符:
d – 表示月里的某天(01-31)
m – 表示月(01-12)
Y – 表示年(四位数)
1 – 表示周里的某天
其他字符,比如 “/”, “.” 或 “-” 也可被插入字符中,以增加其他格式。
下面的例子用三种不同方法格式今天的日期:
echo "今天是 " . date("Y/m/d") . "&br&";
echo "今天是 " . date("Y.m.d") . "&br&";
echo "今天是 " . date("Y-m-d") . "&br&";
echo "今天是 " . date("l");
PHP 提示 – 自动版权年份
使用 date() 函数在您的网站上自动更新版本年份:
(C) 2010-&?php echo date("Y")?&
获得简单的时间
下面是常用于时间的字符:
h – 带有首位零的 12 小时小时格式
i – 带有首位零的分钟
s – 带有首位零的秒(00 -59)
a – 小写的午前和午后(am 或 pm)
下面的例子以指定的格式输出当前时间:
echo "现在时间是 " . date("h:i:sa");
注释:请注意 PHP date() 函数会返回服务器的当前日期/时间!
如果从代码返回的不是正确的时间,有可能是因为您的服务器位于其他国家或者被设置为不同时区。
因此,如果您需要基于具体位置的准确时间,您可以设置要用的时区。
下面的例子把时区设置为 “Asia/Shanghai”,然后以指定格式输出当前时间:
date_default_timezone_set("Asia/Shanghai");
echo "当前时间是 " . date("h:i:sa");
通过 PHP mktime() 创建日期
date() 函数中可选的时间戳参数规定时间戳。如果您未规定时间戳,将使用当前日期和时间(正如上例中那样)。
mktime() 函数返回日期的 Unix 时间戳。Unix 时间戳包含 Unix 纪元(1970 年 1 月 1 日 00:00:00 GMT)与指定时间之间的秒数。
mktime(hour,minute,second,month,day,year)
下面的例子使用 mktime() 函数中的一系列参数来创建日期和时间:
$d=mktime(9, 12, 31, 6, 10, 2015);
echo "创建日期是 " . date("Y-m-d h:i:sa", $d);
通过 PHP strtotime() 用字符串来创建日期
PHP strtotime() 函数用于把人类可读的字符串转换为 Unix 时间。
strtotime(time,now)
下面的例子通过 strtotime() 函数创建日期和时间:
$d=strtotime("10:38pm April 15 2015");
echo "创建日期是 " . date("Y-m-d h:i:sa", $d);
PHP 在将字符串转换为日期这方面非常聪明,所以您能够使用各种值:
$d=strtotime("tomorrow");
echo date("Y-m-d h:i:sa", $d) . "&br&";
$d=strtotime("next Saturday");
echo date("Y-m-d h:i:sa", $d) . "&br&";
$d=strtotime("+3 Months");
echo date("Y-m-d h:i:sa", $d) . "&br&";
不过,strtotime() 并不完美,所以请记得检查放入其中的字符串。
更多日期实例
下例输出下周六的日期:
$startdate = strtotime("Saturday");
$enddate = strtotime("+6 weeks",$startdate);
while ($startdate & $enddate) {
echo date("M d", $startdate),"&br&";
$startdate = strtotime("+1 week", $startdate);
下例输出七月四日之前的天数:
$d1=strtotime("December 31");
$d2=ceil(($d1-time())/60/60/24);
echo "距离十二月三十一日还有:" . $d2 ." 天。";
完整的 PHP 日期参考手册
如需所有日期函数的完整手册,请访问我们的 。
该手册包含每个函数的简要描述以及使用示例。
转载请注明出处: | 网
才能留言!
最佳热度排行
最新抢先看
近期热门趋势
最新冷度排行

我要回帖

更多关于 php昨天日期 的文章

 

随机推荐