* 오늘 날짜 구하기
- new Date();
- Calendar now = Calendar.getInstance();
now.getTime();
* 어제 날짜 구하기
Calendar now = Calendar.getInstance();
now.add(Calendar.DAY_OF_MONTH, -1);
now.getTime();
* 날짜 포맷을 원하는 형태로 바꾸기
Calendar now = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
sdf.format(now.getTime()); // 결과는 String
* 지 맘데로의 날짜를 담은 문자열을 다른 형태로 convert
String dateStr = "200707211541122";
SimpleDateFormat oldFormat = new SimpleDateFormat("yyyyMMddHHmmss");
SimpleDateFormat newFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
System.out.println(newFormat.format(oldFormat.parse(dateStr)));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
* yyyy-MMM-dd 형태 parse 시 주의 할 점
String regDt = "27/Jul/2006:00:00:00";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MMM/dd:hh:mm:ss",
Locale.US);
try {
System.out.println(sdf.parse(regDt).toString());
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
-> 위와 같이 Locale을 지정하지 않으면 한글 OS에서는 parse 오류가 난다.
* 특정날짜가 무슨 요일인지 알아보기
String regDt1 = "2006-11-14";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd", Locale.US);
Calendar cal = Calendar.getInstance();
try {
cal.setTime(sdf.parse(regDt1));
System.out.println(cal.get(Calendar.DAY_OF_WEEK));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
* 날짜 간의 비교
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Calendar now = Calendar.getInstance();
now.add(Calendar.HOUR, -3);
Date before3hour = now.getTime();
try {
if (before3hour.before(sdf.parse(regdttm))) {
return true;
} else {
return false;
}
} catch (ParseException e) {
return false;
}
'programming > Java' 카테고리의 다른 글
Eclipse 3.2에서 ant build 시 “Could not find the main class. Program will exit” 라는 에러가... (4) | 2006.08.22 |
---|---|
Hibernate Quick Reference (0) | 2006.07.27 |
concurrent 패키지를 이용 간단한 ThreadPool 돌리기 (3) | 2006.07.24 |