儒略历可追溯到早期的公历和儒略历。

jdcal的Python项目详细描述


https://travis-ci.org/phn/jdcal.svg?branch=master

本模块包含在儒略日期和 日历日期。

将公历日期转换为儒略日期的函数,以及 将儒略日历日期转换为儒略日期的另一个函数 是有定义的。反向计算的两个函数也是 定义。

世界不同地区从 不同日期的儒略历。对朱利安有不同的功能 格里高利历法允许选择最大限度的灵活性。 相关日历。

儒略日期存储在两个浮点数(双精度)中。朱利安 日期和修改后的儒略日期都是大数字。如果只有一个号码 使用时,则存储时间的精度受到限制。使用两个 数字,时间可以以允许最大值的方式分裂。 精确。例如,第一个数字可以是 一天的开始和第二个数字可以是小数 天。需要后者的计算现在可以最大限度地发挥作用。 精确。

以上所有功能都是“proleptic”。这意味着他们为 相关日历无效的日期。例如, 公历在1582年10月之前没有使用过。

测试给定公历年是否为闰年的函数是 也有定义。

修正儒略日零点(MJD)和2000年1月1日MJD 12:00:00也作为模块级常数给出。

示例

下面给出一些例子。有关更多信息,请参见 https://oneau.wordpress.com/2011/08/30/jdcal/

公历:

>>>fromjdcalimportgcal2jd,jd2gcal>>>gcal2jd(2000,1,1)(2400000.5,51544.0)>>>2400000.5+51544.0+0.52451545.0>>>gcal2jd(2000,2,30)(2400000.5,51604.0)>>>gcal2jd(2000,3,1)(2400000.5,51604.0)>>>gcal2jd(2001,2,30)(2400000.5,51970.0)>>>gcal2jd(2001,3,2)(2400000.5,51970.0)>>>jd2gcal(*gcal2jd(2000,1,1))(2000,1,1,0.0)>>>jd2gcal(*gcal2jd(1950,1,1))(1950,1,1,0.0)>>>gcal2jd(2000,1,1)(2400000.5,51544.0)>>>jd2gcal(2400000.5,51544.0)(2000,1,1,0.0)>>>jd2gcal(2400000.5,51544.5)(2000,1,1,0.5)>>>jd2gcal(2400000.5,51544.245)(2000,1,1,0.24500000000261934)>>>jd2gcal(2400000.5,51544.1)(2000,1,1,0.099999999998544808)>>>jd2gcal(2400000.5,51544.75)(2000,1,1,0.75)

儒略历:

>>>jd2jcal(*jcal2jd(2000,1,1))(2000,1,1,0.0)>>>jd2jcal(*jcal2jd(-4000,10,11))(-4000,10,11,0.0)

公历闰年:

>>>fromjdcalimportis_leap>>>is_leap(2000)True>>>is_leap(2100)False

JD表示MJD的零点,MJD表示JD2000.0:

>>>fromjdcalimportMJD_0,MJD_JD2000>>>printMJD_02400000.5>>>printMJD_JD200051544.5

安装

可以使用pipeasy_install安装模块:

$ pip install jdcal

或者,

$ easy_install jdcal

测试在test_jdcal.py中。

学分

  1. 大量的代码基于优秀的TPMc库 通过Jeffrey W. Percival
  2. 把朱利安日期分成两个数字的灵感来自 IAU SOFAc库。没有来自sofa库的代码或算法 用于jdcal

许可证

根据BSD发布;请参阅license.txt。

有关评论和建议,请通过电子邮件发送给^{tt4}中的用户prasanthhn。$ 领域。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java日期格式的月和日的固定长度?   无法将java ArrayList<String>转换为字符串。   java当我使用log4j 1.2.15时,编译时出现错误;当更改为1.2.16时,一切正常   java如何使用ArgumentMatchers将任何队列告知Mockito?   如何解决“java”。Java电子邮件API中的lang.ExceptionInInitializerError   java是实例化对象名并设置其值的通用方法   java在多线程环境中,如果一个线程崩溃,如何关闭JVM?   java WebDriverManager在selenium中获取不正确版本的驱动程序   如果JAVA中后减量的优先级高于前增量,那么为什么下面的代码输出为22.0而不是20.0。?   在hibernate中找不到java属性   当我用java运行调度程序时,什么都没有发生   jackson如何在java中从数据库中检索json对象   java安卓:如何在自定义适配器中设置侦听器并获取imagebutton单击的位置   java MySQLIntegrityConstraintViolationException:列“问题id”不能为空错误   JavaSpring自定义注销过滤器在注销前执行一些操作?   java如何返回常量集合   java使用subselect进行一对多分页   java二进制搜索基础。陷入无限循环