怎样把农历日期转换成公历日期?

如题所述

第1个回答  2024-05-13
Excel将农历转换为公历的方法如下:
方法一:使用TEXT函数
1. 假设A列是农历日期,A1是农历日期,我们在B1单元格输入公式:=TEXT(A1,"[$-130000]yyyy年m月"&IF(LEN(--TEXT(A1,"[$-130000]dd"))=1,"初","")&"d"),下拉完成农历转公历。
2. 此公式将农历日期转换为公历日期,如果日期是初几,会在前面加上“初”字。
方法二:使用TEXT+MID函数实现更完整的转换
1. A列仍然是农历,B1输入公式:=MID("甲乙丙丁戊己庚辛壬癸",MOD(TEXT(A1,"[$-130000]e")-4,10)+1,1)&MID("子丑寅卯辰巳午未申酉戌亥",MOD(TEXT(A1,"[$-130000]e")-4,12)+1,1)&"年"&TEXT(A1,"[$-130000][DBNum1]m月"&IF(--TEXT(A1,"[$-130000]d")<11,"初","")&TEXT(A1,"[$-130000]d"))),下拉完成公历转农历。
2. 这个公式不仅转换了日期,还添加了天干地支和生肖。
方法三:使用TEXT+MID+ CHOOSE+ YEAR函数
1. A1为农历,B1输入:=CHOOSE(MOD(YEAR(A1)-1900,10)+1,"庚","辛","壬","癸","甲","乙","丙","丁","戊","己")&CHOOSE(MOD(YEAR(A1)-1900,12)+1,"子","丑","寅","卯"空燃姿,"辰","巳","午","未","申","酉","戌","亥")&TEXT(A1,"[dbnum1][$-130000]年m月"&IF(--TEXT(A1,"[$-130000]d")<11,"初","")&TEXT(A1,"[$-130000]d")))。
2. 这个公式简化了输入,让公历转农历更加方便。
方法四:使用自定义函数
1. 下图所示,我们在B2输入公式段誉:=nongli(A1),即可。
2. C列农历简称中C1公式是:=RIGHT(B1,LEN(B1)-8)。
3. 下面是此自定义函数相关的代码:Public Function NongLi(Optional XX_DATE As Date)Dim MonthAdd(11), NongliData(99), TianGan(9), DiZhi(11), ShuXiang(11), DayName(30), MonName(12)Dim curTime, curYear, curMonth, curDayDim GongliStr, NongliStr, NongliDayStrDim i, m, n, k, isEnd, bit, TheDate' 获取当前系统时间curTime = XX_DATE' 天干名称TianGan(0) = "甲"TianGan(1) = "乙"TianGan(2) = "丙"TianGan(3) = "丁"TianGan(4) = "戊"TianGan(5) = "己"TianGan(6) = "庚"TianGan(7) = "辛"TianGan(8) = "壬"TianGan(9) = "癸"' 地支名称DiZhi(0) = "子"DiZhi(1) = "丑"DiZhi(2) = "寅"DiZhi(3) = "卯"DiZhi(4) = "辰"DiZhi(5) = "巳"DiZhi(6) = "午"DiZhi(7) = "未"DiZhi(8) = "申"DiZhi(9) = "酉"DiZhi(10) = "戌"DiZhi(11) = "亥"' 属相名称ShuXiang(0) = "鼠"ShuXiang(1) = "牛"ShuXiang(2) = "虎"ShuXiang(3) = "兔"ShuXiang(4) = "龙"ShuXiang(5) = "蛇"ShuXiang(6) = "马"ShuXiang(7) = "羊"ShuXiang(8) = "猴"ShuXiang(9) = "鸡"ShuXiang(10) = "狗"ShuXiang(11) = "猪"' 农历日期名DayName(0) = "*"DayName(1) = "初一"DayName(2) = "初二"DayName(3) = "初三"DayName(4) = "初四"DayName(5) = "初五"DayName(6) = "初六"DayName(7) = "初七"DayName(8) = "初八"DayName(9) = "初九"DayName(10) = "初十"DayName(11) = "十一"DayName(12) = "十二"DayName(13) = "十三"DayName(14) = "十四"DayName(15) = "十五"DayName(16) = "十六"DayName(17) = "十七"DayName(18) = "十八"DayName(19) = "十九"DayName(20) = "二十"DayName(21) = "廿一"DayName(22) = "廿二"DayName(23) = "廿三"DayName(24) = "廿四"DayName(25) = "廿五"DayName(26) = "廿六"DayName(27) = "廿七"DayName(28) = "廿八"DayName(29) = "廿九"DayName(30) = "三十"' 农历月份名MonName(0) = "*"MonName(1) = "正"MonName(2) = "二"MonName(3) = "三"MonName(4) = "四"MonName(5) = "五"MonName(6) = "六"MonName(7) = "七"MonName(8) = "八"MonName(9) = "九"MonName(10) = "十"MonName(11) = "十一"MonName(12) = "腊"' 公历每月前面的天数MonthAdd(0) = 0MonthAdd(1) = 31MonthAdd(2) = 59MonthAdd(3) = 90MonthAdd(4) = 120MonthAdd(5) = 151MonthAdd(6) = 181MonthAdd(7) = 212MonthAdd(8) = 243MonthAdd(9) = 273MonthAdd(10) = 304MonthAdd(11) = 334' 农历数据NongliData(0) = 2635NongliData(1) = 333387NongliData(2) = 1701NongliData(3) = 1748NongliData(4) = 267701NongliData(5) = 694NongliData(6) = 2391NongliData(7) = 133423NongliData(8) = 1175NongliData(9) = 396438NongliData(10) = 3402NongliData(11) = 3749NongliData(12) = 331177NongliData(13) = 1453NongliData(14) = 694NongliData(15) = 201326NongliData(16) = 2350NongliData(17) = 465197NongliData(18) = 3221NongliData(19) = 3402NongliData(20) = 400202NongliData(21) = 2901NongliData(22) = 13
第2个回答  2024-05-13
将农历日期转换成公历日期需要了解农历和公历两种不同的时间计算系统。首先,农历是一种用于中国本土的阴阳历计算方式,它不直接与公历相对应。然而,由于科技的发展和交流,有些工具或平台提供了转换农历日期为公历日期的方法。以下是可能的方式:

1. 专业工具:在互联网上可以找到一些专门的工具或平台,这些工具可能提供了转换农历日期为公历日期的功能。这些工具通常根据一定的算法或公式进行转换,可能还需要用户输入相关的农历信息。
2. 手机应用:如果使用的是智能手机或移动设备,许多应用商店里可能存在相关的农历转换应用。这些应用通常基于算法或转换公式进行转换。
3. 查阅历法资料:了解中国的传统历法知识,可以知道每个农历日期对应的公历日期。如果需要更详细的信息,可以查阅相关的历法资料或咨询历史学家。

需要注意的是,由于农历和公历的计算方式和规则不同,转换结果可能会有所偏差。因此,在进行转换时,最好参考权威的资料或工具,以确保转换的准确性。同时,也要注意尊重不同的文化和传统,避免因为转换错误而产生误解或冲突。
相似回答