精易论坛
标题:
公历和农历互转 纯源码实现
[打印本页]
作者:
dot
时间:
2023-8-24 21:28
标题:
公历和农历互转 纯源码实现
最近用到了公历农历互转的代码,找了N久,没找到满意的,最后在网友发的java源码上找到灵感。
转换日期范围为1900-2099年。
(非抓取,非接口,非网络)
温馨提醒后来者
:公历 农历属于2个不同的历法,本身无法通过简单的公式换算,农历的编排是由国家机构颁发的,因为农历属于天文历法,每月的初一必须是朔月,所以,大家也没必要花太多时间去学习的。
本源码只调用了精易模块,所以就不上传该模块了。
公历农历互转.e
2023-8-24 20:57 上传
点击文件名下载附件
下载积分: 精币 -2 枚
937.77 KB, 下载次数: 67, 下载积分: 精币 -2 枚
作者:
精彩的鸟
时间:
2023-8-24 21:51
好的,学习学习
作者:
ZHuanR
时间:
2023-8-24 22:16
新技能已get√
作者:
bianyuan456
时间:
2023-8-24 23:45
已经顶贴,感谢您对论坛的支持!
作者:
Inverse
时间:
2023-8-25 00:58
谢谢分享
作者:
pjm123
时间:
2023-8-25 08:35
谢谢分享
作者:
一指温柔
时间:
2023-8-25 08:39
感谢分享
作者:
396384183
时间:
2023-8-25 08:48
新技能已get√
作者:
商务
时间:
2023-8-25 09:01
感谢楼主分享!
作者:
君九
时间:
2023-8-25 09:34
谢谢分享
作者:
tw1
时间:
2023-8-25 12:29
谢谢分享
作者:
ttggnn
时间:
2023-8-26 21:44
感谢分享
作者:
dot
时间:
2023-8-28 20:02
农历转公历处的代码这个地方得修改一下,
如果真
(
局_闰月 ≠ 0
)
判断
(
局_月 = 局_闰月
且
参_是否闰月
或
局_月 > 局_闰月
)
判断
(
取文本中间
(
局_当年农历信息, 13 + 局_闰月, 1
)
=
“0”
)
局_公历日数 = 局_公历日数 + 29
局_公历日数 = 局_公历日数 + 30
.版本 2
.如果真 (局_闰月 ≠ 0)
.判断开始 (局_月 = 局_闰月 且 参_是否闰月 或 局_月 > 局_闰月)
.判断开始 (取文本中间 (局_当年农历信息, 13 + 局_闰月, 1) = “0”)
局_公历日数 = 局_公历日数 + 29
.默认
局_公历日数 = 局_公历日数 + 30
.判断结束
.默认
.判断结束
替换为
如果真
(
参_是否闰月
且
局_闰月 = 局_月
)
判断
(
取文本中间
(
局_当年农历信息, 12 + 局_月, 1
)
=
“0”
)
局_公历日数 = 局_公历日数 + 29
局_公历日数 = 局_公历日数 + 30
如果真
(
局_闰月 ≠ 0
且
局_月 > 局_闰月
)
判断
(
取文本中间
(
局_当年农历信息, 13 + 局_闰月, 1
)
=
“0”
)
局_公历日数 = 局_公历日数 + 29
局_公历日数 = 局_公历日数 + 30
.版本 2
.如果真 (参_是否闰月 且 局_闰月 = 局_月)
.判断开始 (取文本中间 (局_当年农历信息, 12 + 局_月, 1) = “0”)
局_公历日数 = 局_公历日数 + 29
.默认
局_公历日数 = 局_公历日数 + 30
.判断结束
.如果真结束
.如果真 (局_闰月 ≠ 0 且 局_月 > 局_闰月)
.判断开始 (取文本中间 (局_当年农历信息, 13 + 局_闰月, 1) = “0”)
局_公历日数 = 局_公历日数 + 29
.默认
局_公历日数 = 局_公历日数 + 30
.判断结束
作者:
pipicool
时间:
2023-9-4 16:49
学习一下
作者:
gp5165203
时间:
2024-6-9 12:17
太感谢了,楼主牛
作者:
ss4680
时间:
2024-12-22 16:52
新技能已get√
作者:
wffhhy
时间:
2025-5-16 20:26
太感谢了,楼主牛
欢迎光临 精易论坛 (https://125.confly.eu.org/)
Powered by Discuz! X3.4