Nice programing

시차

nicepro 2020. 11. 19. 21:59
반응형

시차


두 개의 다른 Time 인스턴스에 대한 시간 차이를 얻으려고합니다. DB에서 이러한 값을 : datetime 열로 가져옵니다.

분을 무시하거나 반올림하면서 계산에 월과 연도를 포함하려면 어떻게해야합니까? 이 작업은 수동으로 만 수행 할 수 있습니까? 아니면이를 수행하는 기능이 있습니까?


((date_2 - date_1) / 3600).round

또는

((date_2 - date_1) / 1.hour).round

https://rubygems.org/gems/time_difference 에서 Ruby 용 Time Difference gem을 사용해보세요.

start_time = Time.new(2013,1)
end_time = Time.new(2014,1)
TimeDifference.between(start_time, end_time).in_years

이것은 사용자가 계정을 만든 이후 몇 시간 동안 훌륭하게 작동합니다.

(Time.parse(DateTime.now.to_s) - Time.parse(current_user.created_at.to_s))/3600

time_diff 라는 gem을 사용하여 매우 유용한 형식으로 시차를 얻을 수 있습니다.


Rails의 방법을 사용할 수 있습니다. distance_of_time_in_words

distance_of_time_in_words(starting_time, ending_time, options = {include_seconds: true })

Rails에는이 를 달성 하는 훨씬 더 자연스러운 방법 이 있습니다.

> past = Time.now.beginning_of_year
2018-01-01 00:00:00 +0100

> (Time.now - past) / 1.day
219.50031326506948

참고 URL : https://stackoverflow.com/questions/736253/time-difference-in-hours

반응형