如何将java.util.Date转换为时间戳中的当前时间..?

时间:2012-10-19 08:51:59

标签: java sql

我正在用java编写程序。 我使用以下代码

u.setLastlogin(new java.util.Date());

上面的函数接受参数为java.util.Date,但是我想将这个值存储在列为timestamp的数据库表中?

任何人都可以帮助如何编码,以便我可以在表中插入系统的当前时间戳。感谢。

5 个答案:

答案 0 :(得分:17)

您可以将Date转换为Timestamp,如下所示:

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

如果你想要当前日期的时间戳:

new Timestamp(System.currentTimeMillis())

答案 1 :(得分:1)

Date now = new Date();
now.getTime();

答案 2 :(得分:0)

您也可以发出一条SQL语句:

UPDATE MY_TABLE SET LAST_LOGIN = NOW();

这是针对MySQL的。您还应该发现这有用:MySQL Date and Time functions

修改 正如Rambo要求的那样,将列的默认值设置为实际时间戳(根据MySQL: ALTER TABLE syntaxMySQL Data type default values):

ALTER TABLE MY_TABLE ALTER MY_TIMESTAMP COLUMN SET DEFAULT CURRENT_TIMESTAMP;

答案 3 :(得分:0)

使用JPA:

使用:@Temporal(TemporalType.TIMESTAMP)

注释lastLogin

使用JDBC:

PreparedStatement#setTimestamp

答案 4 :(得分:0)

将此用于java.sql.Timestamp timestamp = new java.sql.Timestamp(new Date().getTime());

u.setLastlogin(timestamp);