我有时间值Wed, 23 Mar 2016 00:07:00 ICT +07:00
,在致电to_s
时,它会返回"03/23/2016 12:07 AM"
,但我需要的是"03/23/2016 07:07 AM"
。
通过解释欣赏答案。
答案 0 :(得分:2)
我想这会奏效:
(t + (7*60*60)).to_s
其中t
是Time
的实例。
答案 1 :(得分:2)
如果您需要特定格式的时间,则应该到达strftime
。您想要的格式字符串是'%m/%d/%Y %H:%M %p'
,我上面链接的手册解释了所有格式说明符的含义。 Ruby或Rails中的任何时间都会有一个匹配strftime
的{{1}}方法,所以如果你有一个Time#strftime
,{{1}这并不重要},Time
,...
您似乎也希望将时间转换为UTC,但也有一种方法:utc
。
把它们放在一起:
DateTime
除了调试之外,你不应该在时间上使用ActiveSupport::TimeWithZone
或t.utc.strftime('%m/%d/%Y %H:%M %p')
。您最好直接转到to_s
,这样您就可以获得完全符合您的格式。