2010-06-16 66 views
2

目前我正在上转换Thu Jun 10 16:17:55 +0530 2010到使用Ruby日期和时间转换Ruby中

我正在从数据库中的日期,如下图所示15/06/201015-06-2010

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

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

我已经看过

,不能让太多。

请让我知道如何在Ruby中实现这种转换。

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

回答

1

做到这一点。

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

对于strftime的完整的参考见here

+0

但是,我得到'未定义的方法'strftime'为#'这样做?我错过了什么吗? – dkris 2010-06-16 05:36:42

+0

我编辑了答案 – bragboy 2010-06-16 05:37:08

+0

非常感谢!注意你做了一个编辑,它对我来说工作得很好:) – dkris 2010-06-16 05:39:23

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

你也可能想在Ruby's stdlib检查出strftime方法。

+0

非常感谢!这有助于 – dkris 2010-06-16 05:41:14

3

如果您使用Rails(这是由你的标签所示)

Date.today.to_s可以采取哪些是一个关键参数在DATE_FORMATS散列

比#strftime更好的解决方案,因为它的可重用性不需要记住#strftime咒语或ha大量助手做同样的事情。

+0

非常感谢!我会检查一下 – dkris 2010-06-17 05:55:51