ROR +今日UTC格式的日期

时间:2011-03-08 04:27:07

标签: ruby-on-rails ruby date

如果我有@today = Date.today.to_s,如何转换@today into UTC(仅适当的日期)? 我需要的只是2011-03-08的日期,即2011年3月8日。请提出建议?

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

4 个答案:

答案 0 :(得分:3)

您需要将其转换为Time对象(或者只是使用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" 

答案 1 :(得分:0)

如果您想将@today转换为UTC。 然后试试这个

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

答案 2 :(得分:0)

尝试

1.day.ago.utc

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

下面的格式应该为您提供昨天格式为2011年3月7日的日期格式。查看红宝石时间类手册,了解有关 strftime 时间格式化功能的更多信息。祝你好运!

答案 3 :(得分:-1)

我强烈建议您转向轨道中的时区。使用它比Time.now更容易,更方便。您应该能够使用config.time_zone = "Chennai"或您的时区在environment.rb中设置时区。完成此操作后,您应该可以通过执行Time.zone.now获取UTC信息的时间。要查找UTC偏移量,您可以键入Time.zone