2010-07-18 5 views
1

Ruby stdlib에 두 개의 시간 소인의 차이를 나타내는 개체가 있습니까? 두 개의 Time 개체를 뺀 나머지 초 수를 반환합니다. 즉, hours, minutes 등의 메서드가 포함 된 개체가 있습니까? 그 중 대부분은 괜찮은 to_s입니까?Ruby의 시차 표시

너무 많은 시간 동안 반쯤 처리 된 코드를 코딩했는데 잘못 했습니까?

+3

왜 제대로 한 번 클래스를 작성하고 당신이 그것을 필요로 할 때마다 다시 사용하지, 두 번째가? – ezpz

답변

3

stdlib에는 없지만 작업에 사용할 수있는 보석이 있습니다 (duration 보석). 이처럼 사용할 수 있습니다

sudo gem install duration 

:

require "duration" 
a = Time.now 
sleep(5) 
b = Time.now 
duration = Duration.new(b - a) 
# => #<Duration: 5 seconds> 
duration.seconds 
# => 5 
duration.minutes 
# => 0 

그리고 일, 시간, 주 및 기타 유용한 방법의 무리.

또한 Time, Date 및 다른 날짜 - 시간 클래스를 monkey-patch하여 Duration 객체를 반환 할 수 있습니다.

0

년, 월, 주, 일,시, 분 차이 해시를 반환 time_diff라는 보석