JAva日付加減日数、月数、年数の算出方法

1518 ワード

ある項目は1週間近く、1ヶ月近く、6ヶ月近くなどのデータを集計する必要があるので、時間の加減についていろいろ考えて、java.util.Calendarを使うことにしました
JAva.util.Calendarは、時間を計算する方法を提供しています.
Calendar.DATE  : 代表日数
Calendar.WEDNESDAY:代表週数
Calendar.MONTH:代表月数
Calendar.YEAR:年数を表す
具体的な計算方法は以下の通りです.
1、近周の日付を计算して、つまり过去7日の时间帯を出して、例えば今日2015-07-21 ,1週間前は2015-07-14でした
public static void main(String[] args) {
		Calendar cal = Calendar.getInstance();
		cal.setTime(new Date());
		cal.add(Calendar.DATE, -7);
		System.out.println(DateUtils.date2String("yyyy-MM-dd", cal.getTime()));
	}

または、
Calendar cal = Calendar.getInstance();
		cal.setTime(new Date());
		cal.add(Calendar.WEDNESDAY, -1);
		System.out.println(DateUtils.date2String("yyyy-MM-dd", cal.getTime()));

両者の結果はいずれも2015-07-14の結果を出したが、1つは7日を減らし、1つは1週間を減らしただけだ.
注意:将来の日付を計算する場合は、数字の前のマイナス記号を消すだけです
2、近一ヶ月の日付、つまり過去一ヶ月の時間帯を計算します.以下のようにします.
Calendar cal = Calendar.getInstance();
		cal.setTime(new Date());
		cal.add(Calendar.MONTH, -1);
		System.out.println(DateUtils.date2String("yyyy-MM-dd", cal.getTime()));

出力結果:2015-06-21 
3、近一年の日付、つまり過去一年の時間帯を計算し、以下のようにする.
Calendar cal = Calendar.getInstance();
		cal.setTime(new Date());
		cal.add(Calendar.YEAR, -1);
		System.out.println(DateUtils.date2String("yyyy-MM-dd", cal.getTime()));

出力結果:2014-07-21 
このCalendarは使いやすいので、時間帯の始まりや終わりなどを計算するのに便利です~