我需要DiffTime
将time
库中的a 存储在数据库(PostgreSQL)中,并且有三个选项可以转换为数据库类型:
整数使用 fromIntegral . fromEnum
通过Rational的数字 toRational
真实使用 realToFrac
整数是精确的,但相当大,因为存储在皮秒(10 ^ 12).数值也是精确的,但计算a可能非常昂贵Rational
,因为它必须计算gcd
分子和分母.真实是不准确的,但也许这无关紧要.
我的时间粒度绝不会低于几分钟或大于几天.我需要做出精确的计算.速度可能不是问题.
我应该选择哪个选项以及含义是什么?在处理用户提交的数字时,一般应该避免Rational scientific
吗?
我想你可能在寻找间隔.hasql库具有DiffTime的编码器和解码器,名称间隔也是如此.