SimpleDateFormat
0. Date Class
- 자바에는 2개의 Date 클래스가 존재- java.sql.Date: 오라클의 날짜 타입과 연동 가능
- java.util.Date: 오라클의 날짜 타입과 연동 불가능
※ 참고
- java.sql.Date의 valueOf(String string)는 입력받은 문자열 값을 가지고날짜 값으로 변경해줌
- 이때, 날짜 형식은 yyyy-mm-dd
- valueOf("20181218") 이렇게 입력하면 exception 발생
1. 개요
- Date 타입의 객체에서 특정 형식의 문자열을 가져오기 위해 사용2. parse()
- 문자열 형식의 날짜를 가져와서- Date 객체를 생성할 수 있음
예)
public void sendDocMail(List<Map<String, String>> param) throws Exception {
// TODO Auto-generated method stub
this.logger.info("공문 이메일서비스: "+param);
//클래스 변수 세팅
String banSlipNoDate = null;
int cYear;
int cMonth;
int cDay;
String temp = "";
Map<String, String> sendData = new HashMap<>();
for(int i=0; i < param.size(); i++) {
banSlipNoDate = param.get(i).get("banSlipNoDate");
this.logger.info("banSlipNoDate변수에 담긴 정보:: "+ banSlipNoDate);
//Calendar instance 생성(한국 날짜 SYSDATE세팅)
Calendar c = new java.util.GregorianCalendar(java.util.Locale.KOREA);
//Calendar instance 내의 년, 월, 일 값 가져옴
cYear = c.get(Calendar.YEAR);
cMonth = c.get(Calendar.MONTH);
cDay = c.get(Calendar.DAY_OF_MONTH) - 2; //SYSDATE의 2일 전으로 세팅
//원하는 형식으로 설정: yyyyMMdd 형식
SimpleDateFormat f = new SimpleDateFormat("yyyyMMdd");
//DATE 타입에 넣기
//parse()를 이용하여 yyyyMMdd 형식으로 DATE 객체 생성
Date dt = f.parse(banSlipNoDate);
// 값 세팅
c.setTime(dt);
c.add(Calendar.DATE, -2);
//작업한 DATE 타입의 데이터를 String 타입으로
String str = f.format(c.getTime());
......
| cs |