시간별 데이터를 가져 와서 캐싱 한 다음 해당 데이터를 자바 스크립트 스크롤러에서 사용하고 있습니다. 어쨌든. 다음은 주요 문제입니다. 내가 사용하고 있습니다 :레일 시간대가 정말 혼란 스럽습니다
config.time_zone = 'Eastern Time (US & Canada)'
좋아 잘보고 내가 할 때 내가 뭔가 물건을 보여주는 것
scope :hourly, lambda {|h|
g = DateTime.current.beginning_of_day + h.hours
where(created_at: g..g+1.hours)
}
scope :hourly_by_date, lambda {|h,date|
g = DateTime.parse(date + " 00:00:00 Eastern Time (US & Canada)") + h.hours
where(created_at: g..g+1.hours)
}
scope :hours_ago, lambda {|h|
g = DateTime.current.beginning_of_hour - h.hours
where(created_at: g..g+1.hours)
}
다음과 같은 범위를 사용하는 경우 그렇지 않은 것을 제외하고
Entry.first.created_at #datetime -0500
이 잘 보이는 자정 전후에 작성된 것으로 오후 6시 6 분 (-0700)에 기록을 만들었습니다. 실망스럽지 않고 약간의 지침을 사용할 수 있습니다.
감사합니다.
화가 게시하지 마세요에 대해 UTC로 날짜를 변환하고 값을 비교에 대해. – paxdiablo
'x + y.hours' 대신'y.hours.since (x)'를 변경하면 ('x + y.hours'가있는 곳이면 어디에서든지) 작동합니까? AFAIK,'+'는 시간대를 사용하지 않는다. 나는 틀릴 수도 ... – Amadan
문제는 내 + 시간이 작동하지 않는다는 것입니다. 하지만 SQL 쿼리가 생성되면 UTC를 사용하는 데이터베이스와 비교하여 잘못된 날짜/시간을 사용합니다. –