2011-03-08 23 views
0

如果我有@today = Date.today.to_s,我该如何转换@today into UTC(仅适用于相应的日期)? 在这里,我只需要日期2011-03-08即2011年3月8日。请建议一些东西?ROR + UTC格式的TodayDate

Acutally我正在寻找昨天的日期??

+0

我不确定你在找什么,但看看http://api.rubyonrails.org/classes/ActiveSupport/TimeWithZone.html,看看你还有什么问题。 – danivovich 2011-03-08 04:32:47

回答

3

你需要将其转换为一个Time对象(或只使用反正时间),然后调用Time#utc

irb > Time.now 
=> Tue Mar 08 15:32:36 +1100 2011 
irb > Time.now.utc 
=> Tue Mar 08 04:32:40 UTC 2011 

然后,您可以格式化但是你需要它:

irb > @today = Time.now.utc 
=> Tue Mar 08 04:34:25 UTC 2011 
irb > @today.strftime("%Y-%m-%d") 
=> "2011-03-08" 
0

如果您想将@today转换为UTC。 那就试试这个

 
>> @today = Date.today.to_s 
>> DateTime.parse(@today) 
0

尝试

1.day.ago.utc 

1.day.ago.utc.strftime('%b %B, %Y') 

下面的格式应该给你昨天的日期格式,你正在寻找2011格式化为3月7日。查看ruby Time类手册,获取有关strftime时间格式化函数的更多信息。祝你好运!

-1

我强烈建议你走向时区的轨道。它比Time.now更容易,更方便。您应该能够在或您的时区中设置environment.rb中的时区。做完这些之后,您应该可以通过执行Time.zone.now获取UTC信息的时间。要找到UTC偏移量,您可以键入Time.zone

+0

最好使用UTC – Dean 2012-09-14 22:10:16