UTC格式的ROR + TodayDate

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

我正在寻找昨天的日期?

你需要将它转换为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" 

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

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

尝试

 1.day.ago.utc 

要么

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

下面的格式应该为您提供昨天格式为2011年3月7日的日期格式。有关strftime时间格式化function的更多信息,请查看ruby Time类手册。 祝好运!

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