本文最后修改于 606 天前,部分内容可能已经过时!
前言
PHP日期操作类代码-农历-阳历转换 //我们要解析的代码
$lunar=new Lunar();//我们先在这里创建一个class实例
$today=$lunar->convertSolarToLunar(2022,01,01);//传入阳历的年、月、日计算阴历
传入阴历计算阳历逻辑
1.创建一个class实例
2.访问函数convertLunarToSolar传入要计算的年月日仨参数
3.访问函数getDaysBetweenLunar计算阴历日期与正月初一相隔的天数
3.1访问函数getLunarMonths获取阴历每月的天数的数组
3.2访问函数getLeapMonth获取闰月
传入阳历计算阴历逻辑
1.创建一个class实例
2.访问函数convertLunarToSolar传入要计算的年月日仨参数
3.访问函数getDaysBetweenLunar计算阴历日期与正月初一相隔的天数
3.1访问函数getLunarMonths获取阴历每月的天数的数组
3.2访问函数getLeapMonth获取闰月
$lunarInfo的值
首先$lunarInfo的值是一个数组构成的表,我们就用这个表来查询,其数据来源于香港天文台,或者别的天文台获得的农历数据也行,需要有一定的天文和历法知识才能写出正确算法,当然这里的表我们可以照样画葫芦从天文台取相关数据
var $MIN_YEAR = 1891;var $MAX_YEAR = 2100; //这俩组数据说明这组数据从1891年始至2100止,那么$lunarInfo[0]就是1891年,以此类推
var $lunarInfo = array(array(0,2,9,21936),array(6,1,30,9656),......);
$lunarInfo的二维数组有四个值,array[0]代表否有闰月,如果有闰月的话,闰月是哪个月,没有闰月则是0
array[1]代表当年的阴历春节是哪个月
array[2]代表当年的阴历春节是哪一天
array[3]则是用来解析其余数据的
convertLunarToSolar将阴历转换为阳历
convertLunarToSolar是一个将阴历转换为阳历的函数,
该页面评论已关闭