Kev*_*gle 4 algorithm calendar julian-date
我正在编写一些PHP代码来将日历从格里高利历转换为希伯来日历.看看php日历函数,我发现它具有从Gregorian到Julian天和Julian天转换成希伯来语的功能.但是,我没有找到直接从格里高利转换为希伯来语的功能.
出于好奇,我想看看是否可以进行直接转换.虽然在研究这个问题时,我发现将日期转换为Julian天,然后转换为所需的日历系统似乎是标准的.
我在以下几个库中找到了这个:http: //www.php.net/manual/en/ref.calendar.php http://www.fourmilab.ch/documents/calendar/calendar.js
并在论坛帖子中提到:http: //www.physicsforums.com/showthread.php?t = 173119
什么是烦我的原因!这是某个团体决定的标准吗?这是历史性的吗?
提出直接转换日期的算法不是更有效吗?或者相反,是什么让朱利安时代如此高效?
如果您想在n不同的日历之间进行转换,并且您实现的算法可以从任何一种格式转换为任何其他格式,那么您需要n^2 - n转换算法.但是,如果改为编写算法将任何日历格式转换为一种基线日历格式,然后编写算法以从基线格式转换为任何其他格式,则只需编写2(n-1)算法.
这些日历格式都代表着相同的事物,时间.表示时间的最基本方式是从某个参考点开始经过的时间量,因此最有意义的是作为基线格式.这正是Julian Date的天数,即公元前4713年格林威治中午1月1日以来的天数.
你可能会认为,这将是慢从一种格式转换为儒略日再为另一种格式,但是任何专门的转换算法基本上要采取输入日期,将其转换为日期形式之间的一些中性去,然后将其转换成所需日历格式.但是,由于Julian Date是一种简单的单数格式,因此实际上与转换为Julian Date然后转换为其他格式相同,因此性能增益可以忽略不计.此外,日历转换可能不是任何应用程序性能的瓶颈,因此从它们中挤出最可能的性能可能不是很好地利用任何人的时间.