公历转农历

公历转农历,第1张

公历农历之间如何转换 公历,它是国际通用的。阳历 以地球绕太阳转一圈的时间定做一年,共3 65天5小时48分46秒。平年只计365天这个 整数,不计尾数;一年分做12个月,大月31 天,小月30天,二月只有28天。四年的尾 数积累起来共1天光景,加在第四年的二月 里,这一年叫做闰年。所以闰年的二月有2 9天。阴历以月亮圆缺一次的时间定做一个 月,共29天半。为了算起来方便,大月定 做30天,小月29天,一年12个月中,大小 月大体上交替排列。阴历一年只有354天左 右,也没有平年闰年的差别。 阴历不考虑地球绕太阳的运行,因此使得 四季的变化在阴历上就没有固定的时间, 它不能反映季节,这是一个很大的缺点。 为了克服这个缺点,后来人们定了一个折 衷的历,就是所谓阴阳合历。现在我国还 在使用的夏历(也有人叫它农历或阴历),就 是这种阴阳合历。它跟阴历一样,也以月 亮圆缺一次的时间定做一个月,也是大月3 0天,小月29天,可是它又用加闰月的办法 ,使得平均每年的天数跟阳历全年的天数 相接近,来调整四季。夏历约每过二、三 年多一个闰月。“阴历”又名“太阴历”,系以 月球绕行地球一周为一月,再配合地球绕 日一周之时数为一年,实际上等于阴阳合 历,我国在民国元年前采用此历,为与现 行之历相对称,故名之曰“旧历”。一般人以 为阴历适合于农家,而名之日“农历”。

wps公历转农历如何 *** 作 启用菜单:格式工具栏中“公历转农历”

设置一下就可以的

如何将农历转换为公历 是公历11月13日。这日历上有,要问怎么换的,当然公历是固定的,1、3、5、7、8、10、12月都是31天,2月28天(每4年润一次月,像2008年够4整除,润2月29天),其余的都是30天。

对于农历,它实质是阴历,沿用的是太阴历,这是一门很复杂的天文学知识。它包括24节气。

记住阳历是:1、3、5、7、8、10、腊,31天都不差,其余都是30天,除了2月28

若是闰月2月29天,只多一天。

在EXCEL中怎样把公历转换成农历 Dim WeekName(7), MonthAdd(11), NongliData(99), TianGan(9), DiZhi(11), ShuXiang(11), DayName(30), MonName(12)

Dim curTime, curYear, curMonth, curDay, curWeekday

Dim GongliStr, WeekdayStr, NongliStr, NongliDayStr

Dim i, m, n, k, isEnd, bit, TheDate

Private Sub Form_Load()

'获取当前系统时间

curTime = Now()

'星期名

WeekName(0) =

WeekName(1) = 星期日

WeekName(2) = 星期一

WeekName(3) = 星期二

WeekName(4) = 星期三

WeekName(5) = 星期四

WeekName(6) = 星期五

WeekName(7) = 星期六

'天干名称

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) = &q>>

农历和公历是怎么转换的?(怎么算的?) 你是要口算还是要用笔算?

告诉你,这样子算不靠谱的,根本算不出来,涉及到的转换不是简单的几个公式能得出,相反,它的转换相当复杂。

如果有兴趣编写程序的,我可以提供转换函数库,调用一个函数就可以实现农历与公历的互转了。

目前我已经完美地实现了转换,如果需要,我可以提供。

农历转换公历对照表 是公历1945年4月29日 星期日

农历转换成公历的计算公式? 因为公历(现在用的是格里历,以前还曾用儒列历)和中国农历都不是严格按一个公式计算得到的,所以两个历法没有直接的公式。

试图用一个简单的公式,而不利用许多像万年历一样的数据(尽管可以简化),就达到公农历转换的目的,这是不可能的。我们能见到的所有公农历转换的软件,都存有多少不等的一些年份的历法数据。

这些数据之中,最重要的是农历的每月天数。因为农历是阴阳历,阴历部分(按月相编的部分)决定月日,阳历部分(按太阳高度编的部分)就是节气。节气基本上是与公历直接对应的,可以较容易的推算;但月相周期与地球公转的关系相对复杂,一般都需要天文观测数据授时,所以农历每月是大月还是小月没有简单的公式。

至于公历和农历的置闰,倒都有一定的方式推算,并不困难。

如果只是天文数据,其实都还是可以算的――因为天文周期十分稳定,我们只要严格地按天文周期推算就可以了。可是还有更为麻烦的一点,就是公历和农历这些历法,并不是完全严格地按照天文上的实际周期进行的,还有许多人为的因素。最著名的就是罗马皇帝几次修改2、8等月份长短,以及儒列历中因计算不准确而人为地去掉了十天等事。中国农历也有因为古代天文观测不准确造成的 颁布的历法与天象不吻合的(我们不能苛求古人观测的精度)。所以这两部历法都是与一个时期社会有关的东西,也就没有一定的规律可循了。

公历农历转换 回历、公历、农历的换算

(128 × 365+31)日÷ 128年= 365.2421875日/年

可见共置闰精度远高于现代的公历。

2.换算中一日误差之订正

《历法丛谈》以回历1387年为例,求算合公历之年月日。

解1:1387 × 0.970224+621.5774=1967.278088年

0.278088年 × 365.2422日=101.569日公历累计日数为101.57日可视为4月11日或4月12日。究竟是哪一日,当依两历在公历4月11日或12日间所具有同一的星期序数以订正。

依回历岁首星期序数计算公式:

[(138-1)×131+164] ÷30=6057,余20

6057÷7=865,余 2

故回历1387年元旦为星期2。(表)

按公历自1583年元旦(星期六)至1967年4月11日,共历:

1967-1583=384年,在这384年中依格列高利历四年一闰,百年不闰,四百年加一闰日的规则共历93个闰日,又1967年元旦后一日起至4月11日又需加 100日,则

(384 × 365+93+100+6)÷ 7=140359+7=2001,余 2余2即星期2,故回历1387年元旦在公历1967年4月11日。

因公历计算星期日数采用数据较多,计算时难免有所遗漏,现引人公历日期与星期推算表阿),供参考。

应用此表查找公元1967年4月11日星期序数步骤如下:

先在本表年份表前二位数字栏目中,查到19二字所在的位置;

再在年份表后二位数字栏目中查到67二字所在位置,自19二字处平行右移,67二字处垂直下移,二者在英文大写字母栏目中相交于字母G处;

再自月份表栏目中查到4月,自4月所在位置平行左移,查到G在4月栏目所在位置;

自日期栏目查到11日所在位置,自此位置平行右移,使与4月份栏目G在星期表相交处知为星期二,结果与回历计算所得相同。故知回历 1387年元旦确为公历1967年4月11日,而不是12日。

在换算中所得公历日数常多于31日,甚至常在200―300日或更多,需要将此数化为该年的月日时,可用下列两表。

表3 公历月份及其累计日数

三 公历换算为回历

将回历换算为公历的算式移项,整理,即可得到公历换算为国历的算式

(公历纪年一621.5691)÷0.9702=回历年月日(儒略历)……………………………………………(5)

(公历纪年一621.5774)÷0.970224=回历年月日(格氏历)…………………………………………(6)

无论回历换算为公历或相反,大体都有一日之差,以星期序数订正时,回历换算为公历,以回历的星期序数为准;相反,以公历的星期序数为准。

四 国历或公历换算为中国农历

1.回历换算为农历

仅管中国农历各年在年内月数日数都不是一个相对的稳定值,给回历与公历换算为农历上带来较多的困难,但仍然可以换算。中国农历为阴阳合历,在月份上与回历同属太阴历,惟回历每月以见新月为一月之始,其日约迟于农历合朔(初一日)1―2日乃至3日,因此只要查清二者在月份上关系,便可将回历换算为中国农历。马以愚先生称:“>>

阳历19740820转换阴历是多少 (公历): 1974年 8月 20日

(农历): 甲寅年 七月 初三

Excel 中阳历日期如何转换成阴历日期? 2007版的excel可用下面公式转换:

=TEXT(A1,[$-130000]yyyy年m月&IF(LEN(--TEXT(A1,[$-130000]dd))=1,初,)&d)

简单版:

B2单元格就是第一种情况,“2016-9-17”表示农历是九月十七日。该公式是:=TEXT(A2,'[$-130000]YYYY-M-D')。

TEXT()用来转化文本格式,这个公式的关键是:[$-130000],它是Excel中阳历转化农历的参数,不过它存在一个问题就是没法计算闰月,估计老外无法理解中国人闰月的概念,凡是闰年,它直接表示一年13个月,道理是一样的。

进阶版:

C2单元格,相比较B2单元格呈现就有了进阶,以中文呈现,并且以天干地支表现年份。

公式相对之前肯定复杂:=MID(' 甲乙丙丁戊己庚辛壬癸',MOD(TEXT(A2,'[$-130000]e')-4,10) 1,1)&MID('子丑寅卯辰巳午未申酉 戌亥',MOD(TEXT(A2,'[$-130000]e')-4,12) 1,1)&'年'&TEXT(A2,' [$-130000][DBNum1]m月d日')。

可以分解为两大部分:

1、计算年份:MID(' 甲乙丙丁戊己庚辛壬癸',MOD(TEXT(A2,'[$-130000]e')-4,10) 1,1)&MID('子丑寅卯辰巳午未申酉 戌亥',MOD(TEXT(A2,'[$-130000]e')-4,12) 1,1)&'年',这里加了MID()文本提取函数来获取天干地支。

2、计算月日:TEXT(A2,' [$-130000][DBNum1]m月d日'),这里增加了参数[DBNum1],表示数值以“一、而二、三”中文格式显示。两者组合一起的就是C列结果。完美版作为中国人,我们知道“一月”不叫“一月”,叫“正月”。

“十二月”不叫“十二月”,叫“腊月”;同样每月前10天,是初一、初二20日开始是廿、廿一30日是卅等等。

需安装sxtwl包,命令如下

pip install sxtwl

农历(Lunar calendar)<->阳历(solar calendar)转换

代码如下(基于python3):

import sxtwl

#日历中文索引

ymc = [u"十一", u"十二", u"正", u"二", u"三", u"四", u"五", u"六", u"七", u"八", u"九", u"十" ]

rmc = [u"初一", u"初二", u"初三", u"初四", u"初五", u"初六", u"初七", u"初八", u"初九", u"初十", \

u"十一", u"十二", u"十三", u"十四", u"十五", u"十六", u"十七", u"十八", u"十九", \

u"二十", u"廿一", u"廿二", u"廿三", u"廿四", u"廿五", u"廿六", u"廿七", u"廿八", u"廿九", u"三十", u"卅一"]

# 日历库实例化

lunar = sxtwlLunar()

# 1阴历转阳历

solar_day = lunargetDayByLunar(2019,7,27)

print("公历(阳历):{0}年{1}月{2}日"format(solar_dayy, solar_daym, solar_dayd))

# 2阳历转阴历

from datetime import date

today = str(datetoday()) # 如 2019-08-08

today_list = todaysplit('-') # ['2019', '08', '08']

lunar_day = lunargetDayBySolar((int)(today_list[0]),(int)(today_list[1]),(int)(today_list[2])) # 输入年月日

# 判断是否为润年

if(lunar_dayLleap):

print("阴历(农历):{0}月{1}"format(ymc[lunar_dayLmc], rmc[lunar_dayLdi]))

else:

print("阴历(农历):{0}月{1}"format(ymc[lunar_dayLmc], rmc[lunar_dayLdi]))

结果为

'''

公历(阳历):2019年8月27日

阴历(农历):七月初八

'''

NET类库提供一些基础的农历类SystemGlobalizationChineseLunisolarCalendar

不需要自己写算法。直接用就行。

下边的代码是复制的:

using System;

using SystemCollectionsGeneric;

using SystemText;

namespace System

{

///// <summary>

/// 中国常用农历日期时间类

/// zj53hao@qqcom >

以上就是关于公历转农历全部的内容,包括:公历转农历、excel如何将日期转化成中文农历日期、python显示农历日期等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9334351.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存