一、背景说明:
张三说过:世界上最遥远的距离是什么?不是马里亚纳海沟和珠穆朗玛峰的距离,而是知道和做到的距离,是的,一直以来都想写一个系列的文章,介绍易学之术,但是怕写的不好,逻辑不够完美,技术不够精湛,一直拖到现在还没有动手。
为什么说是写一些易学之术呢,因为本人研究易学也有10几年,也略懂计算机编程技术,也想通过技术的编辑技术逻辑一步一步的剖析八字的逻辑。学易的都知道,易经做为中华文化的群经之首,博大精深,命理学分为术和理的部分,就想天龙八部里面扫地僧说,学习相应的武功,都应该有相应的佛法来化解。这里的武功招式就是术,而佛法就是理,通俗的讲就是要学习易学的哲学思维。
二、需求说明:
经常说人的生辰八字,生辰八字是怎么算出来的,通过编程的方式解释生辰八字的计算方法。通过一个人的出生年月日计算出一个人的生辰八字。
首先进行以下名词解释:
八字 :即用干支纪年法表示一个人的出生年月日时。
坤造 :女人(命)的八字叫做坤造,“造”是一个量词。
乾造 :男人(命)的八字叫做乾造。
干支 :上文提及的年干、日干都是天干。与天干对应的叫做地支。
从“天”、“地”二字可知,在八字上面一排的四个字叫做天干、下面一排四个字叫做地支。
四柱 :一个八字从左到右竖着的两个字分别叫做【年柱】、【月柱】、【日柱】、【时柱】。
每一柱都分为上下两个部分,在上的被称作X干、在下的被称作X支。
三、需求分析
如果一个人只知道他的出生年月日和时间,假如一个人是公历1996-07-01 凌晨02点出生。这里的公历又是个知识点,需要做个说明。
很多人认为:农历就是阴历,公历就是阳历,但其实这种说法是不对的。
有的地方用月亮衡量,将月亮从月牙到月圆,再到月牙整个周期定义为一个月, 即月球绕地球一圈的时间。这种方法就形成了“阴历”,也叫“太阴历”。
不过,月球绕地球一圈不是整数天,大约为29天多一些,如果一年也按12个月来算,相当于只有350多天,与四季变化(直接影响农业)相差越来越大,非常不实用。
所以, 阴历后来被大多数人弃用了。 辛亥革命之后,中国开始引进西方的公历,俗称"阳历",“新历”,名称与中国原有的历法相对应,新中国成立后则正式采用公元纪年,也就是公历(阳历)。
而阴历也叫太阴历,是以月亮围绕地球转动的规律制定的。
阴历的一个月叫做“朔望月”。每月初一为朔日,十五为望日,“朔望月”是月相盈亏的平均周期。所谓“月有阴晴圆缺”,说的就是这个意思。
那么,旧有的历法是阴历还是阳历呢?其实都不算。
中国自古的历法是一种阴阳合历,一般称为“农历”。
很多人认为农历就是阴历,其实二者还是有差别的。阴历的时间和阳历相比,每年大约差十一天。
如果完全按照阴历来,可能不出十五年,我们就要在夏天过春节了。
然而这种情况并没有发生,因为中国的历法中有一项伟大的发明叫“置闰法”。
每19年中设置7个闰月,有闰月的年份一年383天或384天,称为闰年。比如2016年、2020年都是闰年。
农历又根据太阳的位置,把一年分为二十四个节气,便于安排农业生产。所以二十四节气来自农历,而非阴历。
中国的传统节日都是根据阴历设置的。
如今,属于汉文化圈的人们每年仍要庆祝春节、元宵节、清明节、端午节、中秋节等节日。
所以说,中国传统的历法是结合了阳历和阴历的一种阴阳历。
它用置闰法填补了阴、阳历的时间差,又用阳历的规律制定了安排农事的二十四节气。
在农历的时序中,人们的生活更加和谐一致,春耕秋收也得到了有条不紊的规划。
日月相合的农历,其实用价值远远超过了其他历法。它不仅仅是一种历法,更是上下求索的炎黄子孙们,千百年来生活经验与智慧的化身。
四、程序实现
1.首先根据一个人的生日,包含时间的1996-07-01 凌晨02点。
$shengri = new DateTime($pageview['bjson']['birthday']);
private $calendar;
function __construct($year, $month, $day, $ho