• PHP--年龄转生日、生日转年龄


     1 /**
     2      * 年龄转生日(模糊结果)
     3      * @parameter int age(年龄)
     4      * @parameter string symbol(分隔符)
     5      * @return string (yyyy*mm*dd)
     6      * @author he
     7      */
     8     private function agetobirthday($age,$symbol='-')
     9     {
    10         $age = $age==0?25:$age;
    11         $nowyear = date("Y",time());
    12         $year = $nowyear-$age;
    13         $monthArr = [];
    14         for ($i=1;$i<13;$i++){
    15             $monthArr[] = $i<10?'0'.$i:$i;
    16         }
    17         $dayArr = [];
    18         for ($i=1;$i<29;$i++){
    19             $dayArr[] = $i<10?'0'.$i:$i;
    20         }
    21         $month_key = array_rand($monthArr,1);
    22         $month = $monthArr[$month_key];
    23         $date_tmp_stamp = strtotime($year.'-'.$month);
    24         $day = '';
    25         if( $month=='02' && date("t",$date_tmp_stamp)=='29' ) {
    26             $dayArr = array_merge($dayArr,['29']);
    27             $day_key = array_rand($dayArr,1);
    28             $day = $dayArr[$day_key];
    29         } else if ( $month=='02' && date("t",$date_tmp_stamp)=='28' ){
    30             $day_key = array_rand($dayArr,1);
    31             $day = $dayArr[$day_key];
    32         } else if( in_array($month, ['01','03','05','07','08','10','12']) ) {
    33             $dayArr = array_merge($dayArr,['29','30','31']);
    34             $day_key = array_rand($dayArr,1);
    35             $day = $dayArr[$day_key];
    36         } else {
    37             $dayArr = array_merge($dayArr,['29','30']);
    38             $day_key = array_rand($dayArr,1);
    39             $day = $dayArr[$day_key];
    40         }
    41         return  $year.$symbol.$month.$symbol.$day;
    42     }
    43     
    44     /**
    45      * 生日转年龄
    46      * @author he
    47      * @parameter birthday:yyyy-mm-dd
    48      * @return str
    49      */
    50     private function birthdaytoage($birthday)
    51     {
    52         $age = 0;
    53         $year = date('Y',strtotime($birthday));
    54         $month = date('m',strtotime($birthday));
    55         $day = date('d',strtotime($birthday));
    56     
    57         $now_year = date('Y');
    58         $now_month = date('m');
    59         $now_day = date('d');
    60     
    61         if ($now_year > $year) {
    62             $age = $now_year - $year - 1;
    63             if ($now_month > $month) {
    64                 $age++;
    65             } else if ($now_month == $month) {
    66                 if ($now_day >= $day) {
    67                     $age++;
    68                 }
    69             }
    70         }
    71         if(empty($birthday)){
    72             $age = 26;
    73         }
    74         return $age;
    75     }
    76     
  • 相关阅读:
    python_捕获异常
    requests二次封装_捕获异常
    python_flask模块
    python_redis模块
    python_requests模块
    使用pstack和gdb调试死锁
    如何编写go代码
    GDB调试命令手册
    core文件相关
    shared_ptr的线程安全性
  • 原文地址:https://www.cnblogs.com/mrszhou/p/8809583.html
Copyright © 2020-2023  润新知