簡體   English   中英

Ruby-如何獲取當前用戶的時間?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM