Как добавить 3 часа к тому времени, которое хранится в java.sql.Timestamp
, не используя устаревший API?
Я использую приведенный ниже код, но он не работает.
Timestamp later = new Timestamp(old + (1000 * 60 * 60 * 3));
Вы можете использовать функцию "Календарь для даты":
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
calendar.add(Calendar.HOUR, 3);
Timestamp timestamp = new Timestamp(calendar.getTimeInMillis());
Предполагая, что old
- это Timestamp
; ваш код близок. Вам просто нужно сначала преобразовать old
метку в миллисекунду. Делать:
Timestamp later = new Timestamp(old.getTime() + (1000 * 60 * 60 * 3));
Ни getTime()
ни конструктор Timestamp(long)
не устарели.
Обратите внимание, что вся эта информация легко доступна в документации Timestamp
.
calendar.getTimeInMillis()
чтобы пропустить преобразованиеDate
.