如果我有@today = Date.today.to_s
,如何转换@today into UTC
(仅适当的日期)?
我需要的只是2011-03-08的日期,即2011年3月8日。请提出建议?
我正在寻找昨天的日期??
答案 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
。