【问题标题】:Date and Time Conversion in RubyRuby 中的日期和时间转换
【发布时间】:2010-06-16 16:27:36
【问题描述】:

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

我正在从数据库中获取日期,如下所示。

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

我一直在寻找资源,因为我是 RoR/Ruby 的 n00b。

看过

并且无法充分利用它。

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

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

【问题讨论】:

    标签: ruby-on-rails ruby datetime date


    【解决方案1】:

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

    Date.today.to_s 可以接受一个参数,该参数代表 DATE_FORMATS 哈希中的一个键

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

    【讨论】:

    • 非常感谢!我会看看这个
    【解决方案2】:

    这样做。

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

    strftime 的完整参考见here

    【讨论】:

    • 但是我得到了undefined method strftime' for #<0x488c97c>
    【解决方案3】:
    @tickets = Ticket.find(:all)
    for ticket in @tickets
      print ticket.created_at.strftime("%d/%m/%Y")
    end
    

    您可能还想查看Ruby's stdlib 中的strftime 方法。

    【讨论】:

      猜你喜欢
      • 2010-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-05
      • 2012-07-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多