2010-10-29 40 views
1

我在rails上使用Ruby。我正在尝试从特定表中检索时间戳列。Activerecord从时间戳字段中删除所有的零

如果时间戳包含全部零,Activerecord会返回日期。

例如:如果存储的时间戳是2010-09-06 00:00:00:000,它将返回给我2010-09-06。 但是,如果我有2010-09-06 00:00:20:000,它会以预期的格式返回我(即:2010-09-06 00:00:20:000)。

这会导致不一致。请帮我改进一下。

欢迎您提出任何建议。

在此先感谢。 Sachin

回答

1

返回的对象的类型是什么?如果这是字符串,则可以手动添加缺少的部分,但如果这是Time对象,则可以使用.strftime()方法:

t + " 00:00:00.0000" if t =~ /^[-0-9]{10}$/ 

t.strftime("%Y-%m-%d %H:%M:%S.") + t.usec.to_s