(草稿)【解析】农历转阳历、阳历转农历的算法转换代码
OrangeThinK 2022年08月22日 •  0
本文最后修改于 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是一个将阴历转换为阳历的函数,

使用又拍云等静态资源CDN加速的CSS等资源文件强制更新缓存 打赏
请作者吃个鸡腿!
(草稿)你不能既要.....又要......

该页面评论已关闭