JDE Julian Date格式的精确定义是什么?

我正在编写代码将公历从日期转换为JDE(JDEdwards)Julian日期。

注: JDE Julian日期与Julian日期的正常使用不同。

就我可以从Google搜索开始,JDE Julian日期的定义是:

1000*(year-1900) + dayofyear

年份是4位数年份(例如2009年),1月1日的年份为1,并且12月31日全年计数为365或366(取决于这是闰年)。

我的问题是这样的:在1900年之前是否支持? 如果是这样,上述公式是否仍然成立,还是应该是这样的:

1000*(year-1900) - dayofyear

(注意减去而不是加上)。

或者是其他东西?

有没有人有链接到这个日期格式的官方文档?


JDE Julian日期包括CYYDDD,它是世纪,年,日年。

世纪对20世纪来说是零,例如19XX和21世纪对20XX来说是零。

年份是两位数字。 所以101001是2001年1月1日

正如你所看到的,这将不会支持1900年之前的日期。

请参阅此Oracle页面以获取简单而正式的解释:关于Julian日期格式


“JDE Julian数据转换器”确实返回负值:

1809/07/23 : -90635

与古典朱利安日期相反:

The Julian date for CE  1809 July 23 00:00:00.0 UT is
JD 2381986.50000

以下是JD EDWARDS(AS / 400软件)Julian Date的一个例子,但这不是“官方”文档,似乎也不支持1900年以前的日期......

注意:这个“ACC:如何将Julian日期转换为Access和Back中的日期”不支持1900年以前的日期......因为它提到了政府机构和承包商常用的“非正式”Julian日。

这篇文章中使用的非正式的Julian日格式是一年的顺序日(例如,Julian日032代表2月1日或一年中的第32日)。
非正式Julian日格式的变化包括使用前两位数字的年份(例如96年2月1日的96032),并用短划线(例如96-032)分隔年份。
另一种不太流行的Julian日格式使用一位数字的年份(例如6-032)。 这些附加格式不能唯一标识世纪或十年。 您应该仔细考虑使用这些格式时的后果; 例如,Julian日00061可以解释为3/1/2000或3/2/1900。


更新 :对不起,JDE可能是别的。 但供参考:

我知道的JDE是不同的。 从“天文算法”一书中的第59页(Jean Meeus,ISBN 0-943396-35-2):

“如果JD对应于在动力学时间(或星历表时间)范围内测量的瞬间,则通常使用表达式Julian Ephemeris Day(JDE)。
有时会写。 'E'是附加到'JD'的一种索引)“

JD和JDE(在同一时间点)的价值接近,因为差异UT和ET大约在几分钟内。 如ET-UT在1990年为56.86秒,在1900年为-2.72秒。

还有MJD(修正的朱利安日):

MJD = JD - 2400000.5

MJD的零点是1858-11-17,0h UT。


请注意,JD作为Julian日期是不恰当的。 这是朱利安一天 。 JD与Julian日历无关。 (这与维基百科的文章不一致,这是上述书籍的作者,Jean Meeus--一位专门研究天体力学的比利时天文学家。)

链接地址: http://www.djcxy.com/p/18531.html

上一篇: What is the precise definition of JDE's Julian Date format?

下一篇: Get current time in seconds since the Epoch on Linux, Bash