java mysql获取当前时间戳_在Java中处理MySQL数据时间和时间戳

在Java端,日期通常由(设计不当,但是搁置)

java.util.Date表示。它基本上支持

Epoch time在一个长的,也称为时间戳的味道。它包含有关日期和时间部分的信息。在Java中,精度为毫秒。

在SQL端,有几个标准的日期和时间类型,DATE,TIME和TIMESTAMP(在某些DB也称为DATETIME),在JDBC中表示为java.sql.Date,java.sql.Time和java.sql.Timestamp,java.util.Date的所有子类。精度是DB依赖的,通常以毫秒为单位,如Java,但也可以在几秒钟内。

与java.util.Date相反,java.sql.Date仅包含有关日期部分(年,月,日)的信息。时间只包含有关时间部分(小时,分钟,秒)的信息,Timestamp包含有关这两个部分的信息,如java.util.Date所做。

在DB中存储时间戳(因此,Java端的java.util.Date和JDBC端的java.sql.Timestamp)的正常做法是使用PreparedStatement#setTimestamp()。

java.util.Date date = getItSomehow();

Timestamp timestamp = new Timestamp(date.getTime());

preparedStatement = connection.prepareStatement("SELECT * FROM tbl WHERE ts > ?");

preparedStatement.setTimestamp(1, timestamp);

Timestamp timestamp = resultSet.getTimestamp("ts");

java.util.Date date = timestamp; // You can just upcast.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值