php 根据生日计算星座和生肖程序
一个php 根据生日计算星座和生肖程序,有需要的朋友可参考参考.
魔羯座(12/22 – 1/19)、水瓶座(1/20 – 2/18)、双鱼座(2/19 – 3/20)、牡羊座(3/21 – 4/20)、金牛座(4/21 – 5/20)、双子座(5/21 – 6/21)、巨蟹座(6/22 – 7/22)、狮子座(7/23 – 8/22)、处女座(8/23 – 9/22)、天秤座(9/23 – 10/22)、天蝎座(10/23 – 11/21)、射手座(11/22 – 12/21)
PHP实例代码如下:
/** *getConstellation 根据出生生日取得星座 * *@param String $brithday 用于得到星座的日期 格式为yyyy-mm-dd * *@param Array $format 用于返回星座的名称 * *@return String */ function getConstellation( $birthday , $format =null) { $pattern = ‘/^d{4}-d{1,2}-d{1,2}$/’; if (!preg_match( $pattern , $birthday , $matchs )) { return null; } $date = explode (‘-’, $birthday ); $year = $date [0]; $month = $date [1]; $day = $date [2]; if ( $month <1 || $month >12 || $day < 1 || $day >31) { return null; } //设定星座数组 $constellations = array ( ‘摩羯座’, ‘水瓶座’, ‘双鱼座’, ‘白羊座’, ‘金牛座’, ‘双子座’, ‘巨蟹座’,'狮子座’, ‘处女座’, ‘天秤座’, ‘天蝎座’, ‘射手座’,); //或 $constellations = array( ‘Capricorn’, ‘Aquarius’, ‘Pisces’, ‘Aries’, ‘Taurus’, ‘Gemini’, ‘Cancer’,'Leo’, ‘Virgo’, ‘Libra’, ‘Scorpio’, ‘Sagittarius’,); //设定星座结束日期的数组,用于判断 $enddays = array (19, 18, 20, 20, 20, 21, 22, 22, 22, 22, 21, 21,); //如果参数format被设置,则返回值采用format提供的数组,否则使用默认的数组 if ( $format != null) { $values = $format ; } else { $values = $constellations ; } //根据月份和日期判断星座 switch ( $month ) { case 1: if ( $day <= $enddays [0]) { $constellation = $values [0]; } else { $constellation = $values [1]; } break ; case 2: if ( $day <= $enddays [1]) { $constellation = $values [1]; } else { $constellation = $values [2]; } break ; case 3: if ( $day <= $enddays [2]) { $constellation = $values [2]; } else { $constellation = $values [3]; } break ; case 4: if ( $day <= $enddays [3]) { $constellation = $values [3]; } else { $constellation = $values [4]; } break ; case 5: if ( $day <= $enddays [4]) { $constellation = $values [4]; } else { $constellation = $values [5]; } break ; case 6: if ( $day <= $enddays [5]) { $constellation = $values [5]; } else { $constellation = $values [6]; } break ; case 7: if ( $day <= $enddays [6]) { $constellation = $values [6]; } else { $constellation = $values [7]; } break ; case 8: if ( $day <= $enddays [7]) { $constellation = $values [7]; } else { $constellation = $values [8]; } break ; case 9: if ( $day <= $enddays [8]) { $constellation = $values [8]; } else { $constellation = $values [9]; } break ; case 10: if ( $day <= $enddays [9]) { $constellation = $values [9]; } else { $constellation = $values [10]; } break ; case 11: if ( $day <= $enddays [10]) { $constellation = $values [10]; } else { $constellation = $values [11]; } break ; case 12: if ( $day <= $enddays [11]) { $constellation = $values [11]; } else { $constellation = $values [0]; } break ; } return $constellation ; } js格式的: 根据生日的月份和日期,计算星座的js小函数(最简) // 根据生日的月份和日期,计算星座。 http://blog.111cn.net/cuixiping/ function getAstro(month,day){ var s=]魔羯水瓶双鱼牡羊金牛双子巨蟹狮子处女天秤天蝎射手魔羯]; var arr=[20,19,21,21,21,22,23,23,23,23,22,22]; return s. substr (month*2-(day<arr[month-1]?2:0),2); } // 取星座, 参数分别是 月份和日期 function getxingzuo(month,day){ //by Go_Rush(阿舜) from http://ashun.cnblogs.com/ var d= new Date (1999,month-1,day,0,0,0); var arr=[]; arr.push([ "魔羯座" , new Date (1999, 0, 1,0,0,0)]) arr.push([ "水瓶座" , new Date (1999, 0,20,0,0,0)]) arr.push([ "双鱼座" , new Date (1999, 1,19,0,0,0)]) arr.push([ "牡羊座" , new Date (1999, 2,21,0,0,0)]) arr.push([ "金牛座" , new Date (1999, 3,21,0,0,0)]) arr.push([ "双子座" , new Date (1999, 4,21,0,0,0)]) arr.push([ "巨蟹座" , new Date (1999, 5,22,0,0,0)]) arr.push([ "狮子座" , new Date (1999, 6,23,0,0,0)]) arr.push([ "处女座" , new Date (1999, 7,23,0,0,0)]) arr.push([ "天秤座" , new Date (1999, 8,23,0,0,0)]) arr.push([ "天蝎座" , new Date (1999, 9,23,0,0,0)]) arr.push([ "射手座" , new Date (1999,10,22,0,0,0)]) arr.push([ "魔羯座" , new Date (1999,11,22,0,0,0)]) for ( var i=arr.length-1;i>=0;i–){ if (d>=arr[i][1]) return arr[i][0]; } } function getxingzuo(month,day){ var s=]魔羯水瓶双鱼牡羊金牛双子巨蟹狮子处女天秤天蝎射手魔羯]; var arr=[19,50,84,116,148,181,214,246,278,310,341,373,383]; for ( var i=0;i<arr.length;i++){ if ((((month-1)<<5)+day) <= arr[i]) return s. substr (i*2,2); } return [error]; } 计算生肖的: function birthday2BornTag( $birthday ){ $year = substr ( $birthday ,0,4); $bornTagarray = array ([猴], [鸡], [狗], [猪], [鼠], [牛], [虎], [兔], [龙], [蛇], [马], [羊]); $index = $year %12; $bornTag = $bornTagarray [ $index ]; return $bornTag ; } echo birthday2BornTag(’1983-12-19′);查看更多关于php 根据生日计算星座和生肖程序 - php日期的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did29202