返回一个根据 timestamp 得出的包含有日期信息的关联数组 array。 返回的关联数组中的键名单元有以下几个:
键名 | 说明 | 返回值例子 |
---|---|---|
"seconds" | 秒的数字表示 | 0 到 59 |
"minutes" | 分钟的数字表示 | 0 到 59 |
"hours" | 小时的数字表示 | 0 到 23 |
"mday" | 月份中第几天的数字表示 | 1 到 31 |
"wday" | 星期中第几天的数字表示 | 0 (周日) 到 6 (周六) |
"mon" | 月份的数字表示 | 1 到 12 |
"year" | 4 位数字表示的完整年份 | 比如: 1999 或 2003 |
"yday" | 一年中第几天的数字表示 | 0 到 365 |
"weekday" | 星期几的完整文本表示 | Sunday 到 Saturday |
"month" | 月份的完整文本表示,比如 January 或 March | January 到 December |
0 | 自从 Unix 纪元开始至今的秒数,和 time() 的返回值以及用于 date() 的值类似。 |
系统相关,典型值为从 -2147483648 到 2147483647。 |
<?php /* * @description 取得两个时间戳相差的年龄 * @before 较小的时间戳 * @after 较大的时间戳 * @return str 返回相差年龄y岁m月d天 **/ echo datediffage("665769600","1513943332"); function datediffage($before, $after) { if ($before>$after) { $b = getdate($after); $a = getdate($before); } else { $b = getdate($before); $a = getdate($after); } $n = array(1=>31,2=>28,3=>31,4=>30,5=>31,6=>30,7=>31,8=>31,9=>30,10=>31,11=>30,12=>31); $y=$m=$d=0; if ($a['mday']>=$b['mday']) { //天相减为正 if ($a['mon']>=$b['mon']) {//月相减为正 $y=$a['year']-$b['year'];$m=$a['mon']-$b['mon']; } else { //月相减为负,借年 $y=$a['year']-$b['year']-1;$m=$a['mon']-$b['mon']+12; } $d=$a['mday']-$b['mday']; } else { //天相减为负,借月 if ($a['mon']==1) { //1月,借年 $y=$a['year']-$b['year']-1;$m=$a['mon']-$b['mon']+12;$d=$a['mday']-$b['mday']+$n[12]; } else { if ($a['mon']==3) { //3月,判断闰年取得2月天数 $d=$a['mday']-$b['mday']+($a['year']%4==0?29:28); } else { $d=$a['mday']-$b['mday']+$n[$a['mon']-1]; } if ($a['mon']>=$b['mon']+1) { //借月后,月相减为正 $y=$a['year']-$b['year'];$m=$a['mon']-$b['mon']-1; } else { //借月后,月相减为负,借年 $y=$a['year']-$b['year']-1;$m=$a['mon']-$b['mon']+12-1; } } } return ($y==0?'':$y.'岁').($m==0?'':$m.'个月').($d==0?'':$d.'天'); } //转载:http://www.thinkphp.cn/code/2513.html ?>
jiaoben.it商城正式上线了。

我的微信
这是我的微信扫一扫