【发布时间】:2011-11-24 01:51:37
【问题描述】:
我想在我的 SQL 表中保存时间间隔,但我不确定在 Java 中为此使用什么类型。
我需要存储像12:33:57 这样的持续时间或像02:19 这样的分钟和秒。有什么想法可以用于 java 和 sql 的类型吗?我真的不需要对这些值进行任何计算,但我想稍后生成图表,以及测量时间的长度。
【问题讨论】:
-
时间间隔是同一天还是不同天?
我想在我的 SQL 表中保存时间间隔,但我不确定在 Java 中为此使用什么类型。
我需要存储像12:33:57 这样的持续时间或像02:19 这样的分钟和秒。有什么想法可以用于 java 和 sql 的类型吗?我真的不需要对这些值进行任何计算,但我想稍后生成图表,以及测量时间的长度。
【问题讨论】:
你要的mysql类型是TIME,即:
create table mytable (
...
my_interval TIME,
...
);
如果您通过 JDBC 读取此类列,您将获得一个 java.sql.Time 对象,它实际上是一个 java.util.Date,只设置了时间部分(即 1970-01-01 上的时间)
【讨论】:
您可以将持续时间以秒(或毫秒)的形式存储在 Java 的 int 字段和 SQL 的整数列中(例如,5 分 12 秒将存储为 312)。
Java int 字段可以轻松转换为图表所需的任何格式(如果 int 还不是最佳格式)。
【讨论】: