在postgresql中存储24:00:00以上时间的最佳方法?

时间:2015-09-08 19:44:09

标签: sql postgresql gtfs

我将GTFS Feed存储到SQL数据库中,并且有时会将某些时间存储在24:00:00上限时间值之上。例如,一些列车在上午12:30运行,但是列出了前几天的服务,并且运行时间在GTFS规范中存储为24:30。

解决这个问题最好的方法是什么?我应该把它存储为字符串吗?

1 个答案:

答案 0 :(得分:1)

我会存储两个字段:

departure_time timestamp with time zone,
service_date date

离港时间的计算方式如下:

 => select '2015-07-08'::timestamptz+'24:30'::interval;
 2015-07-09 00:30:00+02

这样:

  • 您有一个正常的时刻字段用于排序事件;
  • 您没有丢失服务日期信息;
  • 如果需要,您可以计算回原始的GTFS数据。