6

我正在用java制作一个程序。我正在使用以下代码

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

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

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

4

5 回答 5

17

您可以转换DateTimestamp如下:

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

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

new Timestamp(System.currentTimeMillis())
于 2012-10-19T09:02:05.407 回答
1
Date now = new Date();
now.getTime();
于 2012-10-19T08:54:46.960 回答
0

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

UPDATE MY_TABLE SET LAST_LOGIN = NOW();

这是针对 MySQL 的。您还应该会发现这很有帮助:MySQL 日期和时间函数

编辑 按照 Rambo 的要求,将列的默认值设置为实际时间戳(根据MySQL:ALTER TABLE 语法MySQL 数据类型默认值):

ALTER TABLE MY_TABLE ALTER MY_TIMESTAMP COLUMN SET DEFAULT CURRENT_TIMESTAMP;
于 2012-10-19T08:54:59.497 回答
0

使用 JPA:

使用以下命令注释 lastLogin:@Temporal(TemporalType.TIMESTAMP)

使用 JDBC:

PreparedStatement#setTimestamp

于 2012-10-19T09:00:24.493 回答
0

用这个来java.sql.Timestamp timestamp = new java.sql.Timestamp(new Date().getTime());

u.setLastlogin(timestamp);
于 2012-10-19T09:03:16.030 回答