【发布时间】:2014-05-08 19:12:36
【问题描述】:
如何通过不使用已弃用的 API 将存储在 java.sql.Timestamp 中的时间增加 3 小时?
我使用下面的代码,但它不起作用。
Timestamp later = new Timestamp(old + (1000 * 60 * 60 * 3));
【问题讨论】:
标签: java
如何通过不使用已弃用的 API 将存储在 java.sql.Timestamp 中的时间增加 3 小时?
我使用下面的代码,但它不起作用。
Timestamp later = new Timestamp(old + (1000 * 60 * 60 * 3));
【问题讨论】:
标签: java
您可以使用日历进行日期操作:
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
calendar.add(Calendar.HOUR, 3);
Timestamp timestamp = new Timestamp(calendar.getTimeInMillis());
【讨论】:
calendar.getTimeInMillis()跳过Date的转换。
假设old 是Timestamp;你的代码很接近。您只需首先将old 时间戳转换为毫秒值。做:
Timestamp later = new Timestamp(old.getTime() + (1000 * 60 * 60 * 3));
getTime() 和 Timestamp(long) 构造函数均已弃用。
请注意,所有这些信息都可以在Timestamp documentation 中轻松获得。
【讨论】: