一.公元后的:

天干:甲4 乙5 丙6 丁7 戊8 己9 庚0 辛1 壬2 癸3

如1894年末尾一个数是4就甲年,依此类推

地支:子4 丑5 寅6 卯7 辰8 巳9 午10 未11 申0 酉1 戌2 亥3

换算:1894除以12,余数是几,就在地支中找几.

二.公元前的:

天干:甲7 乙6 丙5 丁4 戊3 己2 庚1 辛0 壬9 癸8

如公元前7年就是甲年依此类推

地支:子-9 丑-8 寅-7 卯-6 辰-5 巳-4 午-3 未-2 申-1 酉0 戌-11 亥-10

换算:如公元前221年,-221除以12,余数是几,就在地支中找几

一、天干地支算法

方法1:

$TGDZ = array (

array ('甲', '乙', '丙', '丁', '戊', '己', '庚', '辛', '壬', '癸' ),

array ('子', '丑', '寅', '卯', '辰', '巳', '午', '未', '申', '酉', '戌', '亥' )

);

$Year = 2014;

$Year_JiSuan = $Year - 1900 + 36;

$TianGanDiZhi = $TGDZ[0][$Year_JiSuan % 10] . $TGDZ[1][$Year_JiSuan % 12];

echo $Year."年为农历[".$TianGanDiZhi."]年";

方法2:

$TGDZ = array (array ('庚', '辛', '壬', '癸' ,'甲', '乙', '丙', '丁', '戊', '己'),

array ( '申', '酉', '戌', '亥', '子', '丑', '寅', '卯', '辰', '巳', '午', '未') );

for ($Year = 1900; $Year <= 2099; $Year++) {

$TianGanDiZhi = $TGDZ[0][$Year % 10] . $TGDZ[1][$Year % 12];

echo $Year . "年为农历[" . $TianGanDiZhi . "]年
";

}

二、计算生肖:

方法1:

if($_POST['year']){

$y = $_POST['year'];

$sxdict = array('猴', '鸡', '狗', '猪','鼠', '牛', '虎', '兔', '龙', '蛇', '马', '羊');

$result['sx'] = $sxdict[$y%12];

var_dump($result['sx']);

}

方法2:

if($_POST['year']){

$y = $_POST['year'];

$sxdict = array('鼠', '牛', '虎', '兔', '龙', '蛇', '马', '羊', '猴', '鸡', '狗', '猪');

$result['sx'] = $sxdict[(($y-4)%12)];

var_dump($result['sx']);

}

方法3:

/**

* 计算.生肖

*

* @param int $year 年份

* @return str

*/

function get_animal($year){

$animals = array(

'鼠', '牛', '虎', '兔', '龙', '蛇',

'马', '羊', '猴', '鸡', '狗', '猪'

);

$key = ($year - 1900) % 12;

return $animals[$key];

}

echo get_animal(1990); // 马

echo get_animal(2010); // 虎

三、计算星座:

方法1:

/*

* 计算星座的函数 string get_zodiac_sign(string month, string day)

* 输入:月份,日期

* 输出:星座名称或者错误信息

*/

function get_zodiac_sign($month, $day)

{

// 检查参数有效性

if ($month < 1 || $month > 12 || $day < 1 || $day > 31)

return (false);

// 星座名称以及开始日期

$signs = array(

array( "20" => "宝瓶座"),

array( "19" => "双鱼座"),

array( "21" => "白羊座"),

array( "20" => "金牛座"),

array( "21" => "双子座"),

array( "22" => "巨蟹座"),

array( "23" => "狮子座"),

array( "23" => "处女座"),

array( "23" => "天秤座"),

array( "24" => "天蝎座"),

array( "22" => "射手座"),

array( "22" => "摩羯座")

);

list($sign_start, $sign_name) = each($signs[(int)$month-1]);

if ($day < $sign_start)

list($sign_start, $sign_name) = each($signs[($month -2 < 0) ? $month = 11: $month -= 2]);

return $sign_name;

}//函数结束

?>

方法2:

/**

* 计算.星座

*

* @param int $month 月份

* @param int $day 日期

* @return str

*/

function get_constellation($month, $day){

$signs = array(

array('20'=>'宝瓶座'), array('19'=>'双鱼座'),

array('21'=>'白羊座'), array('20'=>'金牛座'),

array('21'=>'双子座'), array('22'=>'巨蟹座'),

array('23'=>'狮子座'), array('23'=>'处女座'),

array('23'=>'天秤座'), array('24'=>'天蝎座'),

array('22'=>'射手座'), array('22'=>'摩羯座')

);

$key = (int)$month - 1;

list($startSign, $signName) = each($signs[$key]);

if( $day < $startSign ){

$key = $month - 2 < 0 ? $month = 11 : $month -= 2;

list($startSign, $signName) = each($signs[$key]);

}

return $signName;

}

echo get_constellation(12, 11); // 射手座

echo get_constellation(6, 6); // 双子座

方法3:

/**

* 计算.星座

*

* @param int $month 月份

* @param int $date 年份

* @return str

*/

function get_constellation($month, $date){

$constellations = array(

'水瓶座', '双鱼座', '白羊座', '金牛座', '双子座', '巨蟹座',

'狮子座', '处女座', '天秤座', '天蝎座', '射手座', '摩羯座'

);

if( $date <= 22 ){

if( 1 != $month ){

$constellation = $constellations[$month - 2];

}else{

$constellation = $constellations[11];

}

}else{

$constellation = $constellations[$month - 1];

}

return $constellation;

}

echo get_constellation(12, 11); // 射手座

echo get_constellation(6, 6); // 双子座

php计算十二星座的函数代码,php计算十二星座、十二生肖、天干地支的函数相关推荐

  1. python计算2的平方代码_计算平方根

    [python]代码库# -*- coding: utf-8 -*- import math def quadratic(a1,b1,c1): a = int(a1) b = int(b1) c = ...

  2. 用python计算绩点的代码_计算学生的平均绩点GPA的python代码

    print('welcome to the GPA calculator.') print('please enter all your letter grades,one per line.') p ...

  3. python计算长方形面积代码_Python计算两个矩形重合面积代码实例

    这篇文章主要介绍了Python 实现两个矩形重合面积代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 代码如下 计算两个矩形的重合面积 imp ...

  4. matlab基于傅立叶变换的时域或频域算法计算多普勒频移,展示代码

    可以使用MATLAB的Fourier变换函数fft()来计算多普勒频移.示例代码:%% 计算多普勒频移% 加载信号 x = load('signal.mat');% 计算傅立叶变换 X = fft(x ...

  5. php十二星座_php实现计算十二星座的函数代码

    php实现计算十二星座的函数代码 发布于 2015-02-08 05:58:47 | 130 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertext Pr ...

  6. 小数据量计算最大lyapunov代码_Software | 计算Lyapunov指数的GUI工具箱及函数包汇总...

    二十年前读书时用过的Lyapunov Exponents Toolbox,推荐给做非线性动力学入门的同学们.那个时候不会编写程序,做分支图.算连续或者离散系统的Lyapunov指数,极其困难,还好有这 ...

  7. php 字符串进行计算_PHP eval() 函数把字符串按照 PHP 代码来计算

    eval() 函数把字符串按照 PHP 代码来计算. 该字符串必须是合法的 PHP 代码,且必须以分号结尾. 如果没有在代码字符串中调用 return 语句,则返回 NULL.如果代码中存在解析错误, ...

  8. HM编码器代码阅读(32)——帧间预测之AMVP/Merge模式(七)encodeResAndCalcRdInterCU函数:残差计算、变换量化

    encodeResAndCalcRdInterCU 原理和细节 经过运动估计.运动补偿,我们得到了MV以及参考块,那么接下来是计算残差.计算MVD,然后对系数进行变换.量化. encodeResAnd ...

  9. python复利计算函数_PyThon编程入门:了解python format格式化函数的使用

    在python2之后,新增了这项对字符串.数字可进行格式化的函数.本章为大家介绍关于format函数的使用,章节代码清楚,条理清晰,非常便于理解! 首先给大家准备了利用Format方法写个示例: 下面 ...

最新文章

  1. 用Python开始机器学习(3:数据拟合与广义线性回归)
  2. 相同的字符串哈希值一样吗_关于哈希,来看这里!
  3. BugKuCTF 杂项 闪的好快
  4. 有关/etc/resolv.conf、/etc/hosts、/etc/sysconfig/network
  5. 不能用蛮力法解决的问题_专家教授叫嚣:中国7亿农民只有一身蛮力,对国家没有作用...
  6. 开源流媒体云视频平台EasyDarwin中EasyCMS服务是如何进行命令转发和消息路由的
  7. PIC单片机开发工具
  8. delphi与python_python和delphi哪个好
  9. Atitit 木马病毒自动启动-------------win7计划任务的管理
  10. 问题 J: LZY订单查询
  11. speedoffice表格如何全选表格
  12. 利用python提取企查查企业的工商基本信息
  13. 第二课堂计算机记录,第二课堂计算机小结
  14. oracle查询排名第二,2020年2月数据库排名:第一是Oracle,第二是MySQL,SQLite进前十名...
  15. python start方法_进程方法 run和start的区别
  16. Thinkpad 笔记本电源状态指示灯
  17. 被迫毕业,面试 30 家公司,终于上岸了!
  18. 中国新冠疫情数据可视化
  19. Java 并发编程_详解 synchronized 和 volatile
  20. Go实现自动回复的Tg bot机器人

热门文章

  1. 驱动开发:内核解锁与强删文件
  2. 西牧乳业加快产业转型升级步伐,与合作商实现共成长
  3. 有人在乎,就是最大的幸福
  4. 「计算机科学速成课」笔记
  5. Getmapping和Postmapping
  6. 【SpringBoot】44、SpringBoot中整合JWT实现Token验证(整合篇)
  7. Tcl 语言—— 文本操作篇
  8. MySQL学习笔记-主键索引和二级索引
  9. 火狐安装低版本hackbar插件
  10. 射频电路设计的常见问题及五大经验总结