今天工作要計算用戶的生日到周,找到一個函數。
- /**
- * 計算生日到現在的時間
- * @param int $birthday 寶貝生日
- */
- function age($birthday) {
- $now = date('Ymd');
- //分解當前日期爲年月日
- $y = (int) ($now / 10000);
- $m = (int) (($now % 10000) / 100);
- $d = $now % 100;
- //分解生日爲年月日
- $yy = (int) ($birthday / 10000);
- $ym = (int) (($birthday % 10000) / 100);
- $yd = $birthday % 100;
- //特殊日期計算
- if ($years % 4 == 0 || ($years % 100 == 0 && $years % 400 == 0)) {
- $special = 29;
- } else {
- $special = 28;
- }
- //各月的上個月的天數
- switch ($m) {
- case 2:$add = 31;
- case 3:$add = 31;
- case 6:$add = 31;
- case 8:$add = 31;
- case 9:$add = 31;
- case 11:$add = 31;
- case 1:$add = 31;
- case 5:$add = 30;
- case 7:$add = 30;
- case 10:$add = 30;
- case 12:$add = 30;
- case 3:$add = $special;
- }
- if ($d < $yd) {
- $d+=$add;
- $m-=1;
- }
- if ($m < $ym) {
- $m+=12;
- $y-=1;
- }
- //運算年齡
- if ($now >= $birthday) {
- $age['day'] = $d - $yd;
- $age['month'] = $m - $ym;
- $age['year'] = $y - $yy;
- return $age;
- }else{
- return 0;
- }
- }