저는 RoR에 처음으로 익숙하며 시간대 변환에 문제가 있습니다. 데이터베이스에서 데이터를 가져올 때 (미국 중부 표준시에 저장 됨), 거기에있는 시간은 UTC로 간주되어 변환되기 때문에 5 시간 씩 잘못 작성됩니다. 내 application.rb 파일이 있습니다레일 3.1 시간대 UTC 및 중부 표준시 혼동
config.time_zone = 'Central Time (US & Canada)'
config.active_record.default_timezone = 'Central Time (US & Canada)'
나는이 설정 지시어 eiher 하나를 제거하면 시간이 제대로 저장하지 않습니다. 내가 가지고있는 한, 시간은 데이터베이스에 올바르게 저장되지만, RoR은 올바르게 읽을 수 없습니다. 이 문제를 해결하려면 데이터베이스에서 UTC로 변환해야하는 모든 시간을 변환해야합니다. 나는 더 좋은 방법이 있다고 믿어야한다.
ENV [ 'TZ'] 설정도 시도했지만 아무 것도하지 않는 것 같습니다.
ENV['TZ'] = "US/Central"
도움이 될 것입니다.
감사합니다. 나를 위해
당신이 * sane * 일을하고 데이터베이스 자체의 데이터를 변경하여 UTC가 될 가능성이 있습니까? 특정 (비 UTC) 시간대에 모두 데이터를 저장하면 문제가 발생하며 DST 전환으로 인해 정보가 손실됩니다. –
불행히도, 디자인 결정은 내 손이 아닙니다. 이 프로젝트의 경우, 미국 중부 표준시에 시간을 저장해야한다고 들었습니다. – user1485753
중부 표준시를 의미합니까? CST가 아니며 항상 표준 * 시간입니다. –