私は実際に最後の3つの日付を見つけました。私がしたいことは、各日付から5時間45分を減算します。どのように実装できますか?日付の値を減算する
私がこれまで行ってきたコードは次のとおりです。
public static List<Date> getPastThreeDays() {
List<Date> pDates = new ArrayList<Date>();
for (int i = 1; i <= 3; i++) {
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, -i);
Date date = cal.getTime();
String pastDate = sdf.format(date);
Date pstThreesDates;
try {
pstThreesDates = sdf.parse(pastDate);
pDates.add(pstThreesDates);
} catch (ParseException e) {
e.printStackTrace();
}
}
return pDates;
}
public static void main(String[] args) throws ParseException {
// for getting past three dates
System.out.println("-----Formatted Past Three Days-----");
List<Date> pastThreeDatesList = getPastThreeDays();
for (Date date : pastThreeDatesList) {
System.out.println("Orignal:" + date);
}
ヒント:「日付」は、Unixエポックからわずか数ミリ秒です。あなたは 'getTime()'を呼ぶことによってその番号を得ることができます。その後、5時間45分でミリ秒数を減算することができます。 'setTime'を呼び出すか、新しい' Date'を作成することができます... –
'Calendar.add()'を使っています - 何が欠けていますか? – slim
また、Java 8の 'java.time'パッケージでクラスを使用すると、日付に関するほとんどすべてが簡単になることに注意してください。 – slim