⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 solar_to_lunar.m

📁 使用MATLAB编写的阴历和阳历转换程序
💻 M
字号:
%Solar_to_Lunar.m
%将公历日期转化为农历日期
solar_daysofyear=solar_sumofdays(solar_month)+solar_day;
%求该日是当公历年的第几天
if solar_daysofyear<calendar_matrix(solar_year-1935,1)
%该日农历年数比公历年数少一
lunar_year=solar_year-1;
if  rem(solar_year-1,4)==0
    lunar_daysofyear=366+solar_daysofyear-calendar_matrix(lunar_year-1935,1);
else lunar_daysofyear=365+solar_daysofyear-calendar_matrix(lunar_year-1935,1);
end
else  lunar_year=solar_year;
%该日农历年数与公历年数相同
lunar_daysofyear=solar_daysofyear-calendar_matrix(lunar_year-1935,1);
end
lunar_sumofdays=0;lunar_month=3;
while lunar_daysofyear-1>lunar_sumofdays
    lunar_sumofdays=lunar_sumofdays+calendar_matrix(lunar_year-1935,lunar_month);
    lunar_month=lunar_month+1;
end
lunar_day=lunar_daysofyear-(lunar_sumofdays-calendar_matrix(lunar_year-1935,lunar_month-1));
lunar_month=lunar_month-3;
lunar_tiangan=['庚','辛','壬','癸','甲','乙','丙','丁','戊','已'];
lunar_dizhi=['申','酉','戌','亥','子','丑','寅','卯','辰','巳','午','未'];
if calendar_matrix(lunar_year-1935,2)~=0&lunar_month>calendar_matrix(lunar_year-1935,2)
    lunar_month=lunar_month-1;
    if lunar_month==calendar_matrix(lunar_year-1935,2)
        fprintf('农历%s%s年闰%1.0f月%1.0f日。\n',lunar_tiangan(rem(lunar_year,5)+1),lunar_dizhi(rem(lunar_year,12)+1),lunar_month,lunar_day)
    else fprintf('农历%s%s年%1.0f月%1.0f日。\n',lunar_tiangan(rem(lunar_year,5)+1),lunar_dizhi(rem(lunar_year,12)+1),lunar_month,lunar_day)
    end
else fprintf('农历%s%s年%1.0f月%1.0f日。\n',lunar_tiangan(rem(lunar_year,5)+1),lunar_dizhi(rem(lunar_year,12)+1),lunar_month,lunar_day)
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -