ละเว้นเขตเวลาทั้งหมดใน Rails และ PostgreSQL
ฉันกำลังจัดการกับวันที่และเวลาใน Rails และ Postgres และพบกับปัญหานี้: ฐานข้อมูลอยู่ใน UTC ผู้ใช้ตั้งค่าเขตเวลาที่เลือกในแอพ Rails แต่จะใช้เมื่อรับเวลาท้องถิ่นของผู้ใช้เพื่อเปรียบเทียบเวลาเท่านั้น ผู้ใช้เก็บเวลาหนึ่งพูด 17 มีนาคม 2012 เวลา 19.00 น. ฉันไม่ต้องการให้มีการแปลงเขตเวลาหรือเขตเวลาที่จะจัดเก็บ ฉันแค่ต้องการบันทึกวันที่และเวลา ด้วยวิธีนี้หากผู้ใช้เปลี่ยนเขตเวลามันจะยังคงแสดง 17 มีนาคม 2012, 19:00 ฉันใช้เขตเวลาที่ผู้ใช้ระบุเพื่อรับบันทึก 'ก่อนหน้า' หรือ 'หลัง' เวลาปัจจุบันในเขตเวลาท้องถิ่นของผู้ใช้ ขณะนี้ฉันใช้ 'การประทับเวลาที่ไม่มีเขตเวลา' แต่เมื่อฉันดึงข้อมูลระเบียนทางรถไฟ (?) จะแปลงให้เป็นเขตเวลาในแอปที่ฉันไม่ต้องการ Appointment.first.time => Fri, 02 Mar 2012 19:00:00 UTC +00:00 เนื่องจากระเบียนในฐานข้อมูลดูเหมือนว่าจะออกมาในรูปแบบ UTC แฮ็คของฉันคือใช้เวลาปัจจุบันลบเขตเวลาด้วย 'Date.strptime (str, "% m …