Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 什么';这是在数据库中存储运行时间的最佳方法_Database_Ruby On Rails 3_Database Design_Activerecord_Time - Fatal编程技术网

Database 什么';这是在数据库中存储运行时间的最佳方法

Database 什么';这是在数据库中存储运行时间的最佳方法,database,ruby-on-rails-3,database-design,activerecord,time,Database,Ruby On Rails 3,Database Design,Activerecord,Time,我正在开发一个赛马应用程序,需要将赛马经过的时间存储在一个表中。我将从一个逗号分隔的文件中导入数据,该文件以一种格式提供最终时间,以另一种格式提供内部运行时间。以下是一个例子: Final Time: 109.39 (1 minute, 9 seconds and 39/100th seconds) Quarter Time: 2260 (21 seconds and 60/100th seconds) Half Time: 4524 (45 seconds and 24/100

我正在开发一个赛马应用程序,需要将赛马经过的时间存储在一个表中。我将从一个逗号分隔的文件中导入数据,该文件以一种格式提供最终时间,以另一种格式提供内部运行时间。以下是一个例子:

Final Time: 109.39  (1 minute, 9 seconds and 39/100th seconds)

Quarter Time: 2260  (21 seconds and 60/100th seconds)

Half Time: 4524     (45 seconds and 24/100th seconds)

Three Quarters: 5993   (59 seconds and 93/100th seconds) 
我希望能够灵活地进行诸如英尺/秒的计算,并将经过的时间转换为拆分。我还希望能够以五分之一秒或百分之一秒的单位轻松显示时间(经过或分割)

Times in fifths: :223  :451  :564      1:091 (note the last digits are superscripts)

Times in hundredths: 22.60  :45.24  :56.93   1:09.39

提前感谢您的投入

如果您使用的是PostgreSQL,则可以使用
interval
datatype。否则,数据库支持的任何整数(int4、int8)或数字都可以。当然,将值存储在单个度量单位上:秒、分钟、毫秒。

通常,时间跨度存储为(1)秒或(2)开始/结束日期时间。如果需要,经过的秒数可以是整数或浮点/双精度。你可以创造性地/疯狂地将所有时间存储为毫秒,在这种情况下,你只需要一个整数。

这一切都取决于你打算如何使用它,但经过的秒数(如果必要的话,可能作为浮点值)肯定是一个最受欢迎的数字。

我认为
109.39
表示
1分钟9.39秒
是相当愚蠢的。毫无疑问,这是历史传统,但用这种格式进行计算是痛苦的。(并非不可能,但在导入过程中修复它听起来很容易。)

我会以某种十进制格式存储时间——或者是一个表示百分之一秒的整数,就像所有其他时间显示的那样,或者是一个数据库特定的十进制感知格式


标准的浮点表示法最终可能会让你想知道,为什么一匹在20.1秒内跑了两圈的马要花40.200035秒才能同时跑完两圈。

我正在使用ruby on rails和postgres数据库。我不确定interval数据类型是否可用。我只是尝试在rails中使用interval,但收到一条错误消息。谢谢你的想法,它会很好地工作。我正在使用rails。因此,也许我可以以毫秒为单位进行存储,然后创建一个helper方法。