2012-08-06 2 views
0

'은 대문자를 찾습니다. 상수입니다.어떻게 루비를 사용합니까? 날짜 상수 GREGORIAN, JULIAN, ENGLAND, 심지어 이탈리아어

나는 루비의 데이트 헬퍼를 재미있게 학습하고있다.

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" 

재미있는 것들! 그러나 그레고리 안, 줄리안, 잉글랜드, 이탈리아 (!) 상수는 어떨까요? 그들이 무엇을 위해/어떻게 사용합니까? 내가 할 수있는 출력 :에서

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 
=> #<Date: -4712-01-01 ((0j,0s,0n),+0s,2299161j)> 
1.9.3p125 :068 > Date.new.new_start(Date::JULIAN) 
=> #<Date: -4712-01-01 ((0j,0s,0n),+0s,Infj)> 
1.9.3p125 :069 > Date.new.new_start(Date::ENGLAND) 
=> #<Date: -4712-01-01 ((0j,0s,0n),+0s,2361222j)> 

율리우스 며칠에 의해 떨어져있는 달력처럼 보이는 다음과 같습니다. 몇 세기 전 달력 재설정에 대해 배웠던 것을 기억합니다. ENGLAND 및 ITALY 및 사용 방법은 아직 명확하지 않습니다.

1.9.3p125 :076 > Date.new(1977,7,1).new_start(Date::ENGLAND) 
=> #<Date: 1977-07-01 ((2443326j,0s,0n),+0s,2361222j)> 
1.9.3p125 :077 > Date.new(1977,7,1).new_start(Date::ITALY) 
=> #<Date: 1977-07-01 ((2443326j,0s,0n),+0s,2299161j)> 
1.9.3p125 :078 > Date.new(1977,7,1).new_start(Date::JULIAN) 
=> #<Date: 1977-06-18 ((2443326j,0s,0n),+0s,Infj)> 

답변

1

모든 상수는 the documentation에 설명되어 있습니다. 엄지 손가락의 원칙으로, 아래의 설명이 당신에게 아무런 의미가 없다면 아마 그 상수에 대해 전혀 걱정할 필요가 없을 것입니다.

영국 영국과 ​​그녀의 식민지 에 대한 일정 개혁 일의 율리우스 일 수. 예 기적 그레고리 안 달력 이탈리아 일부 카톨릭 국가의 달력 개혁의 오늘의

이탈리아 율리우스 일 번호에 대한 달력 개혁의 오늘의

그레고리오 율리우스 일 번호.

예 기적 율리우스 력

여기에 서로 다른 달력 시스템에 대한 자세한 정보를 원하시면의 달력 개혁의 오늘의

줄리안 율리우스 일 번호 :

0

당신은 ext/da에 갈 수 있습니다. te/date_core.c 그리고 값을 가져옵니다. 그들은 상수입니다. 그렇지만 어떻게 사용하는지 물었습니다. 귀하의 질문에 어떻게 그들을 추출해야합니다. 사용법은 원하는 시간과 날짜를 만들기위한 데이터가있는 Date 및 DateTime 객체를 계산하는 데 사용됩니다.

예를 들어 특정 값을 가진 요소가있는 것이됩니다.

#<DateTime: 2017-01-06T12:05:55+00:00 ((2457760j,43555s,553855002n),+0s,2299161j)> 

모든 부품에 유의하십시오. 그들 중의 2 명은 번호 뒤의 j를 가지고있다. 그것들을 계산하는 것은 이러한 상수가 클래스 객체의 일부분이고 그 객체의 일부분입니다. 여러 가지 방법과 다양한 유형이 있습니다. 좋은 읽을 거리는 위키피디아의 줄리안 데이 (Julian Day)입니다. 테이블에서 모든 다른 값을 살펴보십시오. 역사는 또한 Michael이 당신을 추천 한 것과 관련되기 때문에 흥미 롭습니다.

두 개의 값을 다시 가져온 경우 해당 값이 클래스이기도합니다.너무 궁금 해서요. 시스템이 얼마나 멀리 앞뒤로 움직일 수 있는지에 관련되어 있기 때문입니다.

Infinity

관련 문제