分享--根据生日计算星座和属相的一个程序

netxiao123 2006-04-12 10:54:58
公司的一个活动需要,就花了几分钟写的一个小程序。
<?
/*****************
*function:根据生日计算星座和属相
*author: netxiao
*site:www.qeto.com
*mail:netxiao2005@163.com
*******************************/
function signs($year,$month,$day){
//程序从JS移值过来,仅是简单移值,没有做任何优化,在此感谢原作者!
$start = 1901;
$birthyear = $year;
$month = $month;
$date = $day;

if ($month == 1 && $date >=20 || $month == 2 && $date <=18) {$value[0] = "水瓶座";}
if ($month == 1 && $date > 31) {$value[0] = "Huh?";}
if ($month == 2 && $date >=19 || $month == 3 && $date <=20) {$value[0] = "双鱼座";}
if ($month == 2 && $date > 29) {$value[0] = "Say what?";}
if ($month == 3 && $date >=21 || $month == 4 && $date <=19) {$value[0] = "白羊座";}
if ($month == 3 && $date > 31) {$value[0] = "OK. Whatever.";}
if ($month == 4 && $date >=20 || $month == 5 && $date <=20) {$value[0] = "金牛座";}
if ($month == 4 && $date > 30) {$value[0] = "I'm soooo sorry!";}
if ($month == 5 && $date >=21 || $month == 6 && $date <=21) {$value[0] = "双子座";}
if ($month == 5 && $date > 31) {$value[0] = "Umm ... no.";}
if ($month == 6 && $date >=22 || $month == 7 && $date <=22) {$value[0] = "巨蟹座";}
if ($month == 6 && $date > 30) {$value[0] = "Sorry.";}
if ($month == 7 && $date >=23 || $month == 8 && $date <=22) {$value[0] = "狮子座";}
if ($month == 7 && $date > 31) {$value[0] = "Excuse me?";}
if ($month == 8 && $date >=23 || $month == 9 && $date <=22) {$value[0] = "室女座";}
if ($month == 8 && $date > 31) {$value[0] = "Yeah. Right.";}
if ($month == 9 && $date >=23 || $month == 10 && $date <=22) {$value[0] = "天秤座";}
if ($month == 9 && $date > 30) {$value[0] = "Try Again.";}
if ($month == 10 && $date >=23 || $month == 11 && $date <=21) {$value[0] = "天蝎座";}
if ($month == 10 && $date > 31) {$value[0] = "Forget it!";}
if ($month == 11 && $date >=22 || $month == 12 && $date <=21) {$value[0] = "人马座";}
if ($month == 11 && $date > 30) {$value[0] = "Invalid $date";}
if ($month == 12 && $date >=22 || $month == 1 && $date <=19) {$value[0] = "摩羯座";}
if ($month == 12 && $date > 31) {$value[0] = "No way!";}

$x = ($start - $birthyear) % 12;

if ($x == 1 || $x == -11) {$value[1] = "老鼠";}
if ($x == 0) {$value[1] = "牛";}
if ($x == 11 || $x == -1) {$value[1] = "老虎";}
if ($x == 10 || $x == -2) {$value[1] = "兔子";}
if ($x == 9 || $x == -3) {$value[1] = "龙";}
if ($x == 8 || $x == -4) {$value[1] ="蛇";}
if ($x == 7 || $x == -5) {$value[1] = "马";}
if ($x == 6 || $x == -6) {$value[1] = "羊";}
if ($x == 5 || $x == -7) {$value[1] = "猴子";}
if ($x == 4 || $x == -8) {$value[1] = "鸡";}
if ($x == 3 || $x == -9) {$value[1] = "狗";}
if ($x == 2 || $x == -10) {$value[1] = "猪";}

return $value;//返回数组,0为星座,1为属相




}
?>
为方便使用,实例程序如下:

<table width="500" border="1" cellspacing="0" cellpadding="0" bordercolor="#666666">
<tr>
<td width=60>姓名</td>
<td>部门</td>
<td>出生日期</td>
<td>星座</td>
<td>属相</td>
</tr>

<?

$sql = "select * from {员工数据库} order by [部门]";
$db->query($sql);
while ($db->next_record() ) {
$name = $db->f("[姓名]");
$bm = $db->f("[部门]");
$cs = $db->f("[出生日期]");
$year = substr($cs,0,4);
$month = substr($cs,5,2);
$day = substr($cs,-2);
if ($cs != "")
$val = signs($year,$month,$day);
else
$val="";
echo " <tr>
<td >$name  </td>
<td >$bm  </td>
<td >$cs  </td>
<td >$val[0]  </td>
<td >$val[1]  </td>
</tr>
";
}
?>
</table>
...全文
1139 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ImN1 2006-04-12
  • 打赏
  • 举报
回复
因为农历最长周期是19年插7闰,所以找到连续19个春节对应的公历日子,其他就可以用19整除判断
ImN1 2006-04-12
  • 打赏
  • 举报
回复
其实单纯算农历年份春节程序也不会太长
zeroleonhart 2006-04-12
  • 打赏
  • 举报
回复
我就说这么短的程序怎么能把农历也给算出来呢
网上看到的算农历的程序很长...
netxiao123 2006-04-12
  • 打赏
  • 举报
回复
还真是,我没注意看,因为HR要的是星座数据,呵呵。
iasky 2006-04-12
  • 打赏
  • 举报
回复
呵呵,就是,生肖是按农历的~
ImN1 2006-04-12
  • 打赏
  • 举报
回复
按农历计算可是件苦事,哈哈
  • 打赏
  • 举报
回复
up
xuzuning 2006-04-12
  • 打赏
  • 举报
回复
但是有一个错误!
星座 是按太阳(公历)计算的
但属相 是按月亮(农历)计算的

今年春节前出生的属鸡而不是属犬
ImN1 2006-04-12
  • 打赏
  • 举报
回复
属相还是应该以单字表示,这是传统文化,只会说“属兔”,而不会说“属兔子”的
更没有人说自己“属猴子”、“属老鼠”的

“室女座”是真实星座的名称,但用于星座命理习惯还是“处女座”
虽然英文上是一样的,所指代的具体星座也是一样
hekai1112004 2006-04-12
  • 打赏
  • 举报
回复
http://www.shuziren.cn/blogs/oneblog.asp?flag=2&id=10000050
senlon实用查询工具大全主要特色概况: 1、源码全部为本地数据库; 2、源码功能丰富,总计包括180项实用查询工具; 3、源码干净简洁,无广告纯净版; 4、适合任何网站使用,尤其是适用于网址导航、本地服务等类型的网站;   日常生活类查询: 万年历查询、手机号码归属地查询、免费在线翻译、手机话费查询、生肖属相查询、黄金价格走势图、股市行情查询、阿拉伯数字译成英文、省市自治区简称、二十四节气表、女性预产期自测、常用电话号码查询、定时关机工具、发票真伪查询、全国交通电子地图、外汇汇率在线查询、网络在线闹钟、艺龙网酒店机票、当当网图书排行榜、亚马逊畅销书排行榜、退订短信服务、全国各地车牌查询表、亲属关系称谓表、北京标准时间校准、中国节日查询、女性安全期测试、快递查询、世界主要城市时间、国际区号查询、交通标志查询、防U盘泄密工具、汽车车标查询、未来时间查询、车辆违章查询、地铁线路图查询、上网速度测试、汉字繁简体转换、全国天气预报查询、全球主要城市时差表   免费在线算命: 姓名在线算命、星座运程查询、财运预测、面热预测、耳鸣预测、四柱八字在线排盘、六壬在线排盘、金口诀在线排盘、六爻在线排卦、奇门遁甲在线排盘、玄空飞星在线排盘、紫微斗数在线排盘、真太阳时间查询、地区经度查询、指纹算命、观音灵签、吕祖灵签、黄大仙灵签、关帝神签、天后灵签、诸葛神算、QQ号码吉凶测试、手机号码吉凶测试、星座配对、姓名配对、姓名五格配对、生肖配对、血型配对、QQ号码配对、号码吉凶测试、生男生女预测、眼跳预测、心惊预测、喷嚏预测、365生日书、生日花语、周公解梦、2013年12生肖运势、开运金钱卦、塔罗牌在线占卜、身份号码吉凶查询、清宫生男生女表、12星座今日运势、情侣测试、免费在线起名、域名吉凶测试、人品计算、在线拜佛、男女面部墨痣运程、男性身体黑痣运程、女性身体黑痣运程、面相运程查询   知识类查询工具: 在线成语查询、世界历史大事记查询、化学元素周期表、三字经全文解释、百家姓查询、中国历史朝代顺序表、计算机进程查询   网络类查询工具: IP地址查询、html加密解密、弹出式窗口代码生成、、CSS生成器、html与js代码互转、HTML转换PHP代码、HTML转换为Perl代码、框架网页代码生成、GB2312转UTF8代码、网页调式器、字符串长度计算、md5加密代码、Encode加密、Encode解密、ASCII、字形生成、DIV CSS编辑器、Escape加密/解密、常用网页特效代码、Meta标签生成器、网页在线加密解密、标准颜色参考工具、JS/VBS加密、解密、网站PR值查询、密码登陆生成器、在线网址加密解密、HTML特殊符号表、字符替换器、关键字密度查询、符号对照表、随机密码生成程序、国家域名缩写、Unicode编码转换器、HTML转UBB代码、URLEncode编码转换器、QQ在线状态代码、多色彩特效字代码、正则表达式检测、网页特殊加载效果代码、同IP网站数量查询   计算/其他类查询: 标准体重计算、个人所得税计算器、经典幽默笑话、个性头像下载、火星文字转换、在线五笔输入法、汉字在线转换拼音、多功能计算器、QQ彩字在线生成、QQ秀在线查看、图形字符名称表、反应速度测试、整数分区大小计算公式、常见进制转换、论坛转贴工具、食物热量计算器、每日/每月电费计算器、汽车油耗计算、热量单位换算器、重量单位换算器、体积和容量单位换算器、压力单位换算器、长度单位换算器、面积单位换算器、温度单位换算器、菊花文转换工具、特殊符号查询、电脑键盘弹钢琴、行业代码表、年龄计算器、日期相差天数计算、诉讼费计算、生物节律测试、摩尔斯密码翻译、三角函数公式表、文件MD5查看器

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧