Activerecord从时间戳字段中删除所有零

时间:2010-10-29 09:14:08

标签: ruby datetime activerecord datetime-format

我正在使用Ruby on rails。我正在尝试从特定表中检索时间戳列。

如果时间戳包含全零,则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)。

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

欢迎所有建议。

先谢谢。 萨钦

1 个答案:

答案 0 :(得分:1)

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

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

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