Calendar: 1.서양력, 2.불교력, 3.일본력
Calendar cal = new GregorianCalendar();
//필요 할 때 변경해야하므로 getInstance()같은 메서드 사용이 더 좋다.
Calendar cal = Calendar.getInstance(); //현재 날짜와 시간으로 셋팅됨
int thisYear = cal.get(Calendar.YEAR); //올해가 몇년인지 알아냄
int lastDayOfMonth = cal.getActualMaximum(Calendar.DATE); //이 달의 마지막날
YEAR : 년
MONTH : 월(0부터 시작)
WEEK_OF_YEAR : 1월1일부터~지금까지 몇 번째 주인지
WEEK_OF_MONTH : 그 달의 몇 번째 주
DATE : 일
DAY_OF_MONTH : 그 달의 몇 번째 일
DAY_OF_YEAR : 그 해의 몇 번째 일
DAY_OF_WEEK : 요일(1~7, 1:일요일)
DAY_OF_WEEK_IN_MONTH : 그 달의 몇 번째 요일
HOUR : 시간(0~11)
HOUR_OF_DAY : 시간(0~23)
MINUTE : 분
SECOND : 초
MILLSECOND : 천분의 일초
ZONE_OFFSET : GMT기준 시차(천분의 일초 단위)
AM_PM : 오전/오후
void set(int field, int value) //하나씩 저장
void set(int year, int month, int date) //년월일
void set(int year, int month, int date, int hourOfDay, int minute)
void set(int year, int month, int date, int hourOfDay, int minute, int second)
Calendar date1 = Calendar.getInstance();
date1.set(2017, 7, 15); //2017년 8월 15일
date1.set(Calendar.YEAR, 2017); //2017년
...
Calendar time1 = Calendar.getInstance();
time1.set(Calendar.HOUR_OF_DAY, 10); //time1을 10시 20분 30초로 설정
time1.set(Calendar.MINUTE, 20);
time1.set(Calendar.SECOND, 30);
add()는 특정 필드의 값을 증가 또는 감소(다른 필드에 영향O)
date.add(Calendar.DATE, 1); //날짜에 1을 더함
date.add(Calendar.MONTH, -8); //월에서 8을 뺌
roll()은 특정필드의 값을 증가 또는 감소(다른 필드에 영향X)
//add()와 달리 roll()은 다른 필드에 영향을 미치지 않는다.
date.roll(Calendar.DATE, 1); //날짜에 1을 더한다.
date.roll(Calendar.MONTH, -8); //월(MONTH)에서 8을 뺀다.
Calendar cal = Calendar.getInstance();
...
Date d = new Date(cal.getTimeInMillis()); //Date(long date)
Date d = new Date();
...
Calendar cal = Calendar.getInstance();
cal.setTime(d)
double number = 1234567.89;
DecimalFormat df = new DecimalFormat("#.#E0"); //지수형식
String result = df.format(number); //result = "1.2E6"
DecimalFormat df = new DecimalFormat("#,###.##");
Number num = df.parse("1,234,567.89");
double d = num.doubleValue(); //1234567.89
[참고] Integer.parseInt()는 콤마(,)가 포함된 문자열을 숫자로 변환 못함.
Date today = new Date();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String result = df.format(today);
DateFormat df = new SimpleDateFormat("yyyy년 MM월 dd일");
DateFormat df2 = new SimpleDateFormat("yyyy/MM/dd");
Date d = df.parse("2015년 11월 23일");
String result = df2.format(d);