Ruby中的日期和时间转换

时间:2010-06-16 05:28:03

标签: ruby-on-rails ruby datetime date

我目前正在寻找使用Ruby将Thu Jun 10 16:17:55 +0530 2010转换为15/06/201015-06-2010

我从DB获取日期,如下所示。

   @tickets = Ticket.find(:all)
   for ticket in @tickets
     print ticket.created_at
   end

我一直在寻找资源,就像我在RoR / Ruby中的n00b一样。

  

我看了

     

并且无法充分利用它。

请告诉我如何在Ruby中实现此转换。

P.S:我也尝试过使用正则表达式。但没有运气

3 个答案:

答案 0 :(得分:3)

如果您使用的是Rails(由标签指示)

Date.today.to_s可以使用代表DATE_FORMATS散列中的键的参数

比#strftime更好的解决方案,因为它可以重复使用,而不必记住#strftime咒语或有大量助手来做同样的事情。

答案 1 :(得分:1)

这样做。

   @tickets = Ticket.find(:all)
   for ticket in @tickets
     print ticket.created_at.strftime("%m/%d/%Y")
   end

有关strftime的完整参考,请参阅here

答案 2 :(得分:1)

@tickets = Ticket.find(:all)
for ticket in @tickets
  print ticket.created_at.strftime("%d/%m/%Y")
end

另外,您可能需要查看Ruby's stdlib中的strftime方法。