我如何使用ruby日期常数GREGORIAN,JULIAN,ENGLAND甚至ITALY

因为大写,它们是常数。

我很开心学习ruby的Date助手。

1.9.3p125 :057 > Date::ABBR_MONTHNAMES => [nil, "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] 1.9.3p125 :058 > Date::ABBR_DAYNAMES => ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"] 1.9.3p125 :059 > Date::MONTHNAMES => [nil, "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"] 1.9.3p125 :060 > Date::DAYNAMES => ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"] 1.9.3p125 :070 > Date::MONTHNAMES[Time.new.month] => "August" 

好玩的东西! 但是GREGORIAN,JULIAN,ENGLAND和ITALY(!)常数呢? 它们是什么/如何使用它们? 我可以输出:

 1.9.3p125 :061 > Date::GREGORIAN => -Infinity 1.9.3p125 :062 > Date::JULIAN => Infinity 1.9.3p125 :063 > Date::ENGLAND => 2361222 

要么

 1.9.3p125 :067 > Date.new => # 1.9.3p125 :068 > Date.new.new_start(Date::JULIAN) => # 1.9.3p125 :069 > Date.new.new_start(Date::ENGLAND) => # 

从下面看,Julian是一个日历已经过了几天。 我记得在几个世纪前就已经重新考虑了日历的重置,所以这很有意义,但英格兰和意大利以及如何使用它们对我来说仍然不清楚。

 1.9.3p125 :076 > Date.new(1977,7,1).new_start(Date::ENGLAND) => # 1.9.3p125 :077 > Date.new(1977,7,1).new_start(Date::ITALY) => # 1.9.3p125 :078 > Date.new(1977,7,1).new_start(Date::JULIAN) => # 

所有常量都在文档中解释。 根据经验,如果以下解释对您没有任何意义,您可能根本不需要担心这些常数。

英格兰英格兰和她的殖民地日历改革当天的朱利安日数。

GREGORIAN预感格里高利历的日历改革日的朱利安日数

意大利意大利和一些天主教国家日历改革日的朱利安日数。

朱利安朱利安日历中日历改革日的朱利安日数

以下是有关不同日历系统的更多信息:

您可以进入ext / date / date_core.c并获取值。 它们是常数,但你问如何使用它们。 你的问题应该是如何提取它们。 用于计算Date和DateTime对象的用途是给定用于创建所需时间和日期的数据。

例如,这将是具有特定值的元素。

 # 

注意所有部分? 其中两人在数字后面有j。 计算这些常量是什么,并且是类对象的一部分。 有许多方法可以使用它们和许多类型。 一个很好的阅读是维基百科上的朱利安日。 查看表格中的所有不同值。 历史也很有趣,因为它们与迈克尔所引用的内容有关。

至于你为其中两个获得的值,请注意它们也是类。 这也很奇怪,因为这与你的系统能够处理数字的前进或后退的距离有关。

无穷