【问题标题】:Timespan in Java and SQL?Java 和 SQL 的时间跨度?
【发布时间】:2011-11-24 01:51:37
【问题描述】:

我想在我的 SQL 表中保存时间间隔,但我不确定在 Java 中为此使用什么类型。

我需要存储像12:33:57 这样的持续时间或像02:19 这样的分钟和秒。有什么想法可以用于 java 和 sql 的类型吗?我真的不需要对这些值进行任何计算,但我想稍后生成图表,以及测量时间的长度。

【问题讨论】:

  • 时间间隔是同一天还是不同天?

标签: java mysql time duration


【解决方案1】:

你要的mysql类型是TIME,即:

create table mytable (
  ...
  my_interval TIME,
  ...
);

如果您通过 JDBC 读取此类列,您将获得一个 java.sql.Time 对象,它实际上是一个 java.util.Date,只设置了时间部分(即 1970-01-01 上的时间)

【讨论】:

    【解决方案2】:

    您可以将持续时间以秒(或毫秒)的形式存储在 Java 的 int 字段和 SQL 的整数列中(例如,5 分 12 秒将存储为 312)。

    Java int 字段可以轻松转换为图表所需的任何格式(如果 int 还不是最佳格式)。

    【讨论】:

      猜你喜欢
      • 2020-10-10
      • 2023-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多