【发布时间】:2013-09-09 16:36:02
【问题描述】:
我需要将 DD:hh:mm:ss 的时间值转换为秒。值是 postgresql 数据库查询的输出,看起来像这样:
db_value = '456:14:56:10'
我需要在几秒钟内完成,我的应用程序中有一个方法,反之亦然:
def time_converter(seconds)
days = seconds / 86400
seconds -= days * 86400
hours = seconds / 3600
seconds -= hours * 3600
minutes = seconds / 60
seconds -= minutes * 60
return "#{days}:#{hours}:#{minutes}:#{seconds}"
我可以以某种方式使用此方法,还是可以将 postgresql 中的格式更改为几秒钟?最有效的方法是什么?
db 值是 SUM((end_time - start_time)* multiplier) AS 持续时间查询的一部分。
【问题讨论】:
-
在 PostgreSQL 中,您可以轻松地从间隔中获取秒数(我希望间隔是您查询的结果类型):
select extract(EPOCH from Now() - '2013-01-01 14:05:05'::timestamp)
标签: ruby-on-rails postgresql ruby-on-rails-3.2 ruby-1.9.3 time-format