1. ホーム
  2. java

[解決済み] Java の日付を1時間前に変更する

2022-04-27 07:30:25

質問

Java の日付オブジェクトがあります。

Date currentDate = new Date();

これで現在の日付と時刻が表示されます。例

Thu Jan 12 10:17:47 GMT 2012

代わりに、私は日付を取得したいのですが、1時間前に変更することで、私に与えるはずです。

Thu Jan 12 09:17:47 GMT 2012

どうすればいいのでしょうか?

どのように解決するのですか?

java.util.Calendar(カレンダー

Calendar cal = Calendar.getInstance();
// remove next line if you're always using the current time.
cal.setTime(currentDate);
cal.add(Calendar.HOUR, -1);
Date oneHourBack = cal.getTime();

java.util.Date(ジャバユーティリティ・デイト

new Date(System.currentTimeMillis() - 3600 * 1000);

org.joda.time.LocalDateTime

new LocalDateTime().minusHours(1)

Java 8: java.time.LocalDateTime

LocalDateTime.now().minusHours(1)

Java 8 java.time.Instant(ジャバタイムインスタント

// always in UTC if not timezone set
Instant.now().minus(1, ChronoUnit.HOURS));
// with timezone, Europe/Berlin for example
Instant.now()
       .atZone(ZoneId.of("Europe/Berlin"))
       .minusHours(1));