算法 – 为什么日历转换库围绕朱利安时代?

算法 – 为什么日历转换库围绕朱利安时代?,第1张

概述我正在编写一些 PHP代码来将日历从格里高利历转换为希伯来日历.看看php日历函数,我发现它具有从Gregorian到Julian天和Julian天转换成希伯来语的功能.但是,我没有找到直接从格里高利转换为希伯来语的功能. 出于好奇,我想看看是否可以进行直接转换.虽然在研究这个问题时,我发现将日期转换为Julian天,然后转换为所需的日历系统似乎是标准的. 我在以下几个库中找到了这个: http: 我正在编写一些 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)种算法.

这些日历格式都代表着相同的事物,时间.表示时间的最基本方式是从某个参考点开始经过的时间量,因此最有意义的是作为基线格式.这正是070​​00,即公元前4713年格林威治中午1月1日以来的天数.

您可能会认为从一种格式转换为Julian Date然后转换为另一种格式会更慢,但是任何专门的转换算法本质上都会采用输入日期,将其转换为日期表示之间的某些中性转换然后将其转换为所需的日历格式.但是,由于Julian Date是一种简单的单数格式,因此实际上与转换为Julian Date然后转换为其他格式相同,因此性能增益可以忽略不计.此外,日历转换可能不是任何应用程序性能的瓶颈,因此从它们中挤出最可能的性能可能不是很好地利用任何人的时间.

总结

以上是内存溢出为你收集整理的算法 – 为什么日历转换库围绕朱利安时代?全部内容,希望文章能够帮你解决算法 – 为什么日历转换库围绕朱利安时代?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

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

原文地址:https://54852.com/web/1129664.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存