【发布时间】:2018-02-05 08:57:40
【问题描述】:
我想使用Time.now.strftime("%d/%m/%Y %H:%M") 来显示我所在时区的当前时间,但似乎延迟了两个小时。它显示:28/08/2017 06:36,当它是08:36。如何调整时区以显示正确的时间?
【问题讨论】:
-
Time.now.getlocal.zone这是返回您的区域吗?
我想使用Time.now.strftime("%d/%m/%Y %H:%M") 来显示我所在时区的当前时间,但似乎延迟了两个小时。它显示:28/08/2017 06:36,当它是08:36。如何调整时区以显示正确的时间?
【问题讨论】:
Time.now.getlocal.zone 这是返回您的区域吗?
纯 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"
【讨论】: