' Time.now'没有显示正确的时间

时间:2017-08-28 06:41:53

标签: ruby time timezone

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

1 个答案:

答案 0 :(得分: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"