[英]Ruby - how to get current user's time?
我正在玩時區,並且有一個簡單的注冊表。 用戶注冊后,我想顯示其當前時間,該怎么做?
您不能僅使用Ruby來做到這一點,因為服務器端不提供此類信息。
1)如果您知道用戶的位置,則可以進行地理定位並確定時區 。 但是,如果您從地理數據庫獲得的IP范圍有幾個時區,則可能會出現問題。
2)另一種解決方案,您可以使用javascript來提供幫助。 因此,使用javascript,您可以計算時區並將其設置為cookie,然后使用Ruby從請求對象進行訪問。 ( 如何使用Javascript獲取時區 )
您可以在注冊過程中詢問用戶當前的時區,並將其與用戶詳細信息保持一致。
ActiveSupport(包含在Rails API中)是一種處理時區的好方法,您可以使用* in_time_zone *將當前時間轉換為其他時區中的時間。
舉個例子
Time.now.in_time_zone("America/Guyana")
Time.now.in_time_zone(8)
可以通過以下API文檔在其中找到time_zone密鑰: http : //api.rubyonrails.org/classes/ActiveSupport/TimeZone.html
有關更多信息,請參見TimeWithZone, http: //api.rubyonrails.org/classes/ActiveSupport/TimeWithZone.html#method-i-in_time_zone。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.