Java 和 SQL 中的时间跨度?
我想在 SQL 表中保存时间间隔,但我不确定在 Java 中为此使用什么类型。
我需要存储像 12:33:57
这样的持续时间,或者像 02:19
这样的分钟和秒。有什么想法可以用于 java 和 sql 的类型吗?我真的不需要对这些值进行任何计算,但我想稍后生成图表,其中包含测量时间的长度。
I want to save time intervals in my SQL table but I'm not sure what type to use in Java for this.
What I need to store are durations like 12:33:57
or just minutes and seconds like 02:19
. Any ideas what type I could use for java and for sql? I don't really need to make any calculations with these values, but I would like to generate charts later on, with the lengths of the mesured times.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您想要的 mysql 类型是
TIME
,即:如果您通过 JDBC 读取此类列,您将得到
java.sql.Time
对象,它实际上是一个java.util.Date
仅设置时间部分(即1970-01-01 上的时间)
The mysql type you want is
TIME
, ie:If you read such columns in via JDBC, you'll get a
java.sql.Time
object, which is actually ajava.util.Date
with only the time portion set (ie a time on1970-01-01
)您可以将持续时间以秒(或毫秒)的形式存储在 Java 中的 int 字段中和 SQL 中的整数列中(例如,5 分 12 秒将存储为 312)。
Java int 字段可以轻松转换为图表所需的任何格式(如果 int 还不是最佳格式)。
You could store the durations as seconds (or milliseconds) in an int field in Java and in an integer column in SQL (e.g. 5 minutes and 12 seconds would be stored as 312).
The Java int field could be easily converted to any format necessary for your charts (if int isn't already the best format).