2010-10-29 74 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