0
다음 작업이 있습니다. db (PostgreSQL)에 몇 시간 간격으로 저장해야합니다. 예를 들어 오후 1 시부 터 오후 2 시까 지 일정 시간 간격이 있는지 테스트 할 수 있습니다. 어떻게해야 제대로 할 수 있습니까? 그것을 위해 보석이있을 수 있습니까? 고마워.레일스에서 시간 간격을 정의하는 방법은 무엇입니까?
다음 작업이 있습니다. db (PostgreSQL)에 몇 시간 간격으로 저장해야합니다. 예를 들어 오후 1 시부 터 오후 2 시까 지 일정 시간 간격이 있는지 테스트 할 수 있습니다. 어떻게해야 제대로 할 수 있습니까? 그것을 위해 보석이있을 수 있습니까? 고마워.레일스에서 시간 간격을 정의하는 방법은 무엇입니까?
@Santosh 말했듯이 당신은 열을 저장하고 당신이 시간 범위에 대해 뭔가를 확인해야하는 경우 다음이 유용한 클래스를 사용할 수 있습니다
class TimeRange
private
def coerce(time)
time.is_a? String and return time
return time.strftime("%H:%M")
end
public
def initialize(start,finish)
@start = coerce(start)
@finish = coerce(finish)
end
def include?(time)
time = coerce(time)
@start < @finish and return (@[email protected]).include?(time)
return !(@[email protected]).include?(time)
end
end
이 방법을 사용할 수 있습니다 :
irb(main):013:0> TimeRange.new("02:00","01:00").include?(Time.mktime(2010,04,01,02,30))
=> true
irb(main):014:0> TimeRange.new("02:00","01:00").include?(Time.mktime(2010,04,01,01,30))
=> false
irb(main):015:0> TimeRange.new("01:00","02:00").include?(Time.mktime(2010,04,01,01,30))
=> true
irb(main):016:0> TimeRange.new("01:00","02:00").include?(Time.mktime(2010,04,01,02,30))
=> false