2011-09-20 3 views
1

Ruby에는 일정 시간을 나타내는 클래스가 있습니까?Ruby 시간대 등급

IE, 1 시간 2 분 3 초.

시간 클래스가 있다는 것을 알고 있지만 생성자는 1 년, 1 개월 및 1 일이 걸립니다. 그 중 아무 것도 내가 만들려고하는 추상화와 관련이 없습니다.

참고 : Sinatra와 함께 작업하십시오.

답변

5

Ruby on Rails의 모듈 ActiveSupport::CoreExtensions::Numeric::Time을 살펴볼 수 있습니다.

1.hour 
=> 3600 seconds 
1.day.ago 
=> Mon, 19 Sep 2011 23:41:22 UTC +00:00 

과 같은 깔끔한 것을 할 수 있습니다. 레일즈 클래스 ActiveSupport::Duration을 크게 활용합니다.

+0

코드에 대한 필수 링크 : [Numeric time extensions] (https://github.com/rails/rails/blob/master/activesupport/lib/active_support/core_ext/numeric/time.rb) 및 [ActiveSupport :: 기간] (https://github.com/rails/rails/blob/master/activesupport/lib/active_support/duration.rb) –

0

레일스가 귀하가 찾고있는 것일 수 있습니다. activesupport 보석에있는 Numeric 클래스의 확장 기능을 확인하십시오.

+0

나는 Sinatra에서 일하고 있다고 덧붙였다. – Mike

+0

당신이 원한다면, 당신은 소스를 체크 아웃하고 비슷한 것을 구현하는 것을 멈출 필요가 없습니다! – Alex

+1

나머지 Rails없이'activesupport' 젬만 요구할 수 있습니다. 필요한 경우 Sinatra 앱으로이 작업을 수행했습니다. –