根据生日计算年龄、生肖、星座
时间:2007-01-28
来源:互联网
该三个功能可能没啥实际的应用价值,大家就留个纪念吧。
星座:我是根据这个时间表写的,该时间表未必准确。
'水瓶座'=>'(1/22-2/21)', '双鱼座'=>'(2/22-3/21)',
'白羊座'=>'(3/22-4/21)', '金牛座'=>'(4/22-5/21)',
'双子座'=>'(5/22-6/21)', '巨蟹座'=>'(6/22-7/21)',
'狮子座'=>'(7/22-8/21)', '处女座'=>'(8/22-9/21)',
'天秤座'=>'(9/22-10/21)', '天蝎座'=>'(10/22-11/21)',
'射手座'=>'(11/22-12/21)', '摩羯座'=>'(12/22-1/21)'
星座:我是根据这个时间表写的,该时间表未必准确。
'水瓶座'=>'(1/22-2/21)', '双鱼座'=>'(2/22-3/21)',
'白羊座'=>'(3/22-4/21)', '金牛座'=>'(4/22-5/21)',
'双子座'=>'(5/22-6/21)', '巨蟹座'=>'(6/22-7/21)',
'狮子座'=>'(7/22-8/21)', '处女座'=>'(8/22-9/21)',
'天秤座'=>'(9/22-10/21)', '天蝎座'=>'(10/22-11/21)',
'射手座'=>'(11/22-12/21)', '摩羯座'=>'(12/22-1/21)'
复制PHP内容到剪贴板
[font=Arial]/**
* 根据生日中的月份和日期来计算所属星座
*
* @param int $birth_month
* @param int $birth_date
* @return string
*/
function get_constellation($birth_month,$birth_date)
{
//判断的时候,为避免出现1和true的疑惑,或是判断语句始终为真的问题,这里统一处理成字符串形式
$birth_month = strval($birth_month);
$constellation_name = array(
'水瓶座','双鱼座','白羊座','金牛座','双子座','巨蟹座',
'狮子座','处女座','天秤座','天蝎座)','射手座','摩羯座'
);
if ($birth_date <= 22)
{
if ('1' !== $birth_month)
{
$constellation = $constellation_name[$birth_month-2];
}
else
{
$constellation = $constellation_name[11];
}
}
else
{
$constellation = $constellation_name[$birth_month-1];
}
return $constellation;
}[/font]
[font=Arial]/**
* 根据生日中的年份来计算所属生肖
*
* @param int $birth_year
* @return string
*/
function get_animal($birth_year)
{
//1900年是子鼠年
$animal = array(
'子鼠','丑牛','寅虎','卯兔','辰龙','巳蛇',
'午马','未羊','申猴','酉鸡','戌狗','亥猪'
);
$my_animal = ($birth_year-1900)%12;
return $animal[$my_animal];
}[/font]
[font=Arial]/**
* 根据生日来计算年龄
*
* 用Unix时间戳计算是最准确的,但不太好处理1970年之前出生的情况
* 而且还要考虑闰年的问题,所以就暂时放弃这种方式的开发,保留思想
*
* @param int $birth_year
* @param int $birth_month
* @param int $birth_date
* @return int
*/
function get_age($birth_year,$birth_month,$birth_date)
{
$now_age = 1; //实际年龄,以出生时为1岁计
$full_age = 0; //周岁,该变量放着,根据具体情况可以随时修改
$now_year = date('Y',time());
$now_date_num = date('z',time()); //该年份中的第几天
$birth_date_num = date('z',mktime(0,0,0,$birth_month,$birth_date,$birth_year));
$difference = $now_date_num - $birth_date_num;
if ($difference > 0)
{
$full_age = $now_year - $birth_year;
}
else
{
$full_age = $now_year - $birth_year - 1;
}
$now_age = $full_age + 1;
return $now_age;
}[/font]
[font=Arial]?>[/font]
[font=Arial]
PHP代码:
[font=Arial]<?php[/font][font=Arial]/**
* 根据生日中的月份和日期来计算所属星座
*
* @param int $birth_month
* @param int $birth_date
* @return string
*/
function get_constellation($birth_month,$birth_date)
{
//判断的时候,为避免出现1和true的疑惑,或是判断语句始终为真的问题,这里统一处理成字符串形式
$birth_month = strval($birth_month);
$constellation_name = array(
'水瓶座','双鱼座','白羊座','金牛座','双子座','巨蟹座',
'狮子座','处女座','天秤座','天蝎座)','射手座','摩羯座'
);
if ($birth_date <= 22)
{
if ('1' !== $birth_month)
{
$constellation = $constellation_name[$birth_month-2];
}
else
{
$constellation = $constellation_name[11];
}
}
else
{
$constellation = $constellation_name[$birth_month-1];
}
return $constellation;
}[/font]
[font=Arial]/**
* 根据生日中的年份来计算所属生肖
*
* @param int $birth_year
* @return string
*/
function get_animal($birth_year)
{
//1900年是子鼠年
$animal = array(
'子鼠','丑牛','寅虎','卯兔','辰龙','巳蛇',
'午马','未羊','申猴','酉鸡','戌狗','亥猪'
);
$my_animal = ($birth_year-1900)%12;
return $animal[$my_animal];
}[/font]
[font=Arial]/**
* 根据生日来计算年龄
*
* 用Unix时间戳计算是最准确的,但不太好处理1970年之前出生的情况
* 而且还要考虑闰年的问题,所以就暂时放弃这种方式的开发,保留思想
*
* @param int $birth_year
* @param int $birth_month
* @param int $birth_date
* @return int
*/
function get_age($birth_year,$birth_month,$birth_date)
{
$now_age = 1; //实际年龄,以出生时为1岁计
$full_age = 0; //周岁,该变量放着,根据具体情况可以随时修改
$now_year = date('Y',time());
$now_date_num = date('z',time()); //该年份中的第几天
$birth_date_num = date('z',mktime(0,0,0,$birth_month,$birth_date,$birth_year));
$difference = $now_date_num - $birth_date_num;
if ($difference > 0)
{
$full_age = $now_year - $birth_year;
}
else
{
$full_age = $now_year - $birth_year - 1;
}
$now_age = $full_age + 1;
return $now_age;
}[/font]
[font=Arial]?>[/font]
[font=Arial]
作者: myc508 发布时间: 2007-01-27
呵呵 不错 学习了
作者: 天之魔神 发布时间: 2007-01-27
很好 ~~ 数组计算上很精确了
建议编辑下帖子~~ 加上注释 ~~ :)
建议编辑下帖子~~ 加上注释 ~~ :)
作者: 小竣 发布时间: 2007-01-28
同楼上
作者: cator 发布时间: 2007-01-28
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28