Ruby_Rails

루비 레일즈에서 시간 바꾸는 법

고수트 2019. 5. 23. 09:32
반응형

포스트를 입력한 시간을 출력한 시간을 출력해올때 

디폴트로 아래와 같이 루비 레일즈에서는 시간이 표시된다.

2019-05-23 00:23:58 UTC 

UTC 는 협정 세계표준시 라는 의미인데 한국 시간으로 바꾸고 싶을 때가 있다. 

그럴때는 일단, 먼저 원하는 시간대를 가진 시간 목록을 살펴본 뒤 

bin/rails time:zones:all

원하는 시간대를 config/application.rb 파일에 들어간 뒤 아래와 같은 코드를 추가해주면 된다.

config.time_zone = '원하는 시간을 가진 위치명'

현재 로컬 피씨의 시간대를 확인하려면 간단히 아래와 같이 입력한다.

bin/rails time:zones:local

 

예를 들면 서울(한국) 을 기준 시간으로 잡고 싶다면 아래와 같이 config.time_zone = 'Seoul' 를 입력한다.

module RailsSample

    class Application < Rails::Application

     config.load_defaults 5.2

      config.time_zone = 'Seoul'

    end

end

 

config 파일을 수정하였으니 재시작한다!

 

참고 사항으로 위와 같이 입력하면 표시는 서울 기준으로 되지만 디비에는 저장시에는 표준인 UTC 가 저장된다.

시간은 표준으로 저장하는게 맞는 듯 하지만

혹시 디비 시간대를 변경하고 싶다면

config.active_record.default_timezone = :local

 

이라는 코드를 config/application.rb 아래에 저장하면 된다.

반응형