본문 바로가기

JAVA/JAVA

[JAVA] Calendar 함수

 

* 몇가지 간단한 Calendar 함수 활용 공통 날짜 로직을 제공할 수 있다.

 

0. YYMMDD 날짜 포맷 생성

  private static final SimpleDateFormat yyyyMMdd = new SimpleDateFormat("yyyyMMdd");

 

1. 오늘 날짜 구하기

Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
String date = yyyyMMdd.format(cal.getTime());

 

2. 오늘을 포함한 7일(이전) 날짜 구하기

String[] lastWeek = new String[7];

Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
for (int i = 0; i < 7; i++) {
    String date = yyyyMMdd.format(cal.getTime());
    lastWeek[i] = date;
    cal.add(Calendar.DATE, -1);
}
return lastWeek;

 

3. 오늘을 제외한 7일 날짜 구하기

String[] lastWeek = new String[7];

Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
for (int i = 0; i < 7; i++) {
  cal.add(Calendar.DATE, -1);
  String date = yyyyMMdd.format(cal.getTime());
  lastWeek[i] = date;
}

return lastWeek;

 

4. 오늘을 제외한 7일 날짜구해서, MM.DD

Integer s = value.length;
String cMon = value[0].substring(4, 6);
for (int i = 0; i < s; i++) {
  String sMon = value[i].substring(4, 6);
  String sDay = value[i].substring(6, 8);
  if (i == 0) {
  	value[0] = cMon + "." + sDay;
  } else {
  	if (cMon.equals(sMon)) {
  		value[i] = sDay;
  	} else {
 		value[i] = sMon + "." + sDay;
 	}
  }
}
return value;

 

5. YYYYMMDD 형식의 String 을 Long 타입으로 변환 

    SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
    ArrayList<String> result = new ArrayList<>();
    for (int i = 0; i < dateStrList.size(); i++) {
      String strDate = dateStrList.get(i);
      try {
        Date date = format.parse(strDate);
        Long longdate = date.getTime();
        result.add(longdate.toString());
      } catch (Exception e) {
        e.printStackTrace();
      }
    }
    return result;