2017-08-28 158 views
0

我想使用Time.now.strftime("%d/%m/%Y %H:%M")来显示我的时区中的当前时间,但它似乎被延迟了两个小时。它显示:28/08/2017 06:36,当它是08:36。我如何调整时区以显示正确的时间?'Time.now'没有显示正确的时间

+1

'Time.now.getlocal.zone'这是否会返回您的区域? –

回答

5

纯Ruby之道:

> Time.now.utc.localtime("+05:30").strftime("%d/%m/%Y %H:%M") 
#=> "28/08/2017 12:41" 

其中+05:30(IST)是特定区域的偏移

注:Time.now.getlocal.zone将返回当地的区


使用ActiveSupport

> require 'active_support/time' 
#=> true 
> Time.now.in_time_zone('US/Eastern').strftime("%d/%m/%Y %H:%M") 
#=> "28/08/2017 03:17"