跳转到主要内容

儒略日从拟历的格里高利历和儒略历。

项目描述

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

此模块包含用于在儒略日和日历日期之间进行转换的函数。

定义了将格里高利日历日期转换为儒略日期的函数和将儒略日历日期转换为儒略日期的另一个函数。还定义了反向计算的两个函数。

世界各地在不同的日期从儒略历切换到格里高利历。为儒略历和格里高利历分别提供函数,允许在选择相关日历时具有最大灵活性。

儒略日期存储为两个浮点数(双精度浮点数)。儒略日期和修正儒略日期都是大数。如果只使用一个数字,则存储时间的精度有限。使用两个数字,可以将时间分割成允许最大精度的样子。例如,第一个数字可以是某一天的开始儒略日期,第二个数字可以是分数日。现在,需要后者部分进行计算的功能可以以最大精度工作。

所有上述函数都是“前瞻性”的。这意味着它们适用于相关日历无效的日期。例如,在1582年10月之前,并未使用格里高利日历。

还定义了一个测试给定格里高利日历年是否为闰年的函数。

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

示例

以下给出了一些示例。更多信息请参阅https://oneau.wordpress.com/2011/08/30/jdcal/

格里高利日历

>>> from jdcal import gcal2jd, jd2gcal
>>> gcal2jd(2000,1,1)
(2400000.5, 51544.0)
>>> 2400000.5 + 51544.0 + 0.5
2451545.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)

格里高利闰年

>>> from jdcal import is_leap
>>> is_leap(2000)
True
>>> is_leap(2100)
False

MJD的零点和JD2000.0的MJD

>>> from jdcal import MJD_0, MJD_JD2000
>>> print MJD_0
2400000.5
>>> print MJD_JD2000
51544.5

安装

可以使用pipeasy_install安装此模块。

$ pip install jdcal

$ easy_install jdcal

测试在test_jdcal.py中。

致谢

  1. 大量的代码基于TPM C库,由Jeffrey W. Percival编写。

  2. 将儒略日期拆分为两个数字的灵感来自IAU SOFA C库。在jdcal中未使用SOFA库中的任何代码或算法。

许可证

在BSD许可下发布;请参阅LICENSE.txt。

对于评论和建议,请将电子邮件发送到域名为gmail.com的用户prashanthhn。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码发行版

jdcal-1.4.1.tar.gz (7.5 kB 查看哈希值)

上传时间 源代码

构建发行版

jdcal-1.4.1-py2.py3-none-any.whl (9.5 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下赞助

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面