在Rails和PostgreSQL中完全忽略時(shí)區(qū)我正在處理Rails和Postgres中的日期和時(shí)間并遇到這個(gè)問題:數(shù)據(jù)庫(kù)采用UTC格式。用戶在Rails應(yīng)用程序中設(shè)置選擇的時(shí)區(qū),但僅在獲取用戶本地時(shí)間來比較時(shí)間時(shí)使用。用戶存儲(chǔ)時(shí)間,例如2012年3月17日晚上7點(diǎn)。我不希望存儲(chǔ)時(shí)區(qū)轉(zhuǎn)換或時(shí)區(qū)。我只想保存日期和時(shí)間。這樣,如果用戶改變他們的時(shí)區(qū),它仍將顯示2012年3月17日,晚上7點(diǎn)。我只使用用戶指定的時(shí)區(qū)來獲取用戶本地時(shí)區(qū)當(dāng)前時(shí)間之前或之后的記錄。我目前正在使用“沒有時(shí)區(qū)的時(shí)間戳”,但是當(dāng)我檢索記錄時(shí),rails(?)會(huì)將它們轉(zhuǎn)換為應(yīng)用程序中的時(shí)區(qū),這是我不想要的。Appointment.first.time => Fri, 02 Mar 2012 19:00:00 UTC +00:00因?yàn)閿?shù)據(jù)庫(kù)中的記錄似乎是以UTC形式出現(xiàn)的,我的黑客是用當(dāng)前時(shí)間,用'Date.strptime(str,“%m /%d /%Y”)刪除時(shí)區(qū),然后做我的查詢:.where("time >= ?", date_start)似乎必須有一種更簡(jiǎn)單的方法來忽略周圍的時(shí)區(qū)。有任何想法嗎?
在Rails和PostgreSQL中完全忽略時(shí)區(qū)
慕桂英3389331
2019-05-29 15:44:50