728x90
Calendar 클래스는 날짜와 시간을 다루는 클래스 입니다. String 데이터의 날짜를 계산하는 소스 입니다.
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateSample {
public static void main(String[] args) throws ParseException {
String test = "2022-08-30";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
//String을 날짜 연산을 위해 Date 객체로 변경
Date date = sdf.parse(test);
//날짜 연산을 위한 Calendar 객체 생성 후 date 대입
Calendar cal = Calendar.getInstance();
cal.setTime(date);
System.out.println("현재일시 : " + sdf2.format(cal.getTime()));
cal.add(Calendar.MILLISECOND, 10);
System.out.println("10밀리초 더하기 : " + sdf2.format(cal.getTime()));
cal.add(Calendar.MINUTE, 10);
System.out.println("10분 더하기 : " + sdf2.format(cal.getTime()));
cal.add(Calendar.HOUR, 1);
System.out.println("1시간 더하기 : " + sdf2.format(cal.getTime()));
cal.add(Calendar.HOUR, -1);
System.out.println("1시간 빼기 : " + sdf2.format(cal.getTime()));
cal.add(Calendar.DATE, 1);
System.out.println("1일 더하기 : " + sdf.format(cal.getTime()));
cal.add(Calendar.DATE, -1);
System.out.println("1일 빼기 : " + sdf.format(cal.getTime()));
cal.add(Calendar.MONTH, 1);
System.out.println("1달 더하기 : " + sdf.format(cal.getTime()));
cal.add(Calendar.YEAR, 1);
System.out.println("1년 더하기 : " + sdf.format(cal.getTime()));
cal.add(Calendar.YEAR, -1);
System.out.println("1년 빼기 : " + sdf.format(cal.getTime()));
cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
System.out.println("해당 일자가 있는 주의 월요일 구하기 : " + sdf.format(cal.getTime()));
cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH));
System.out.println("해당 월의 마지막날 구하기 : " + sdf.format(cal.getTime()));
System.out.println("해당 월의 마지막날의 요일 구하기(1:일요일 ~ 7:토요일) : "+ cal.get(Calendar.DAY_OF_WEEK));
}
}
Calendar 클래스의 주요상수
상수 | 사용예시 | 설명 |
static int YEAR | Calendar.YEAR | 현재 년도 |
static int MONTH | Calendar.MONTH | 현재 월 |
static int DATE | Calendar.DATE | 현재 월의 날짜 |
static int WEEK_OF_YEAR | Calendar.WEEK_OF_YEAR | 현재 년도의 몇째 주 |
static int WEEK_OF_MONTH | Calendar.WEEK_OF_MONTH | 현재 월의 몇째 주 |
static int DAY_OF_YEAR | Calendar.DAY_OF_YEAR | 현재 년도의 날짜 |
static int DAY_OF_MONTH | Calendar.DAY_OF_MONTH | 현재 월의 날짜 |
static int DAY_OF_WEEK | Calendar.DAY_OF_WEEK | 현재 요일(1:일요일, 7:토요일) |
static int HOUR | Calendar.HOUR | 현재 시간(0~12) |
static int HOUR_OF_DAY | Calendar.HOUR_OF_DAY | 현재 시간(0~23) |
static int MINUTE | Calendar.MINUTE | 현재 분 |
static int SECOND | Calendar.SECOND | 현재 초 |
Calendar 클래스의 주요 메소드
메소드 | 설명 |
static Calendar getInstance() | 현재 날짜와 시간 정보를 가진 Calendar 객체를 생성 |
boolean after(Object when) | when이 현재 날짜 이후이면 true를 반환 |
boolean before(Object when) | when이 현재 날짜 이전이면 true를 반환 |
boolean equals(Object obj) | 같은 날짜이면 true를 반환 |
Date getTime() | 현재 객체를 Date 객체로 변환 |
void set(int field, int value) | 현재 객체의 특정 필드를 다른 값으로 설정 |
void set(int year, int month, int date) | 현재 객체의 년, 월, 일 값을 다른 값으로 설정 |
void set(int year, int month, int date, int hour, int minute, int second) | 현재 객체의 년, 월, 일, 시, 분, 초 값을 다른 값으로 설정 |
void setTime(Date date) | date 객체의 날짜와 시간 정보를 현재 객체로 생성 |
728x90
'Java' 카테고리의 다른 글
Java 주말(토요일, 일요일) 일자를 조회하는 프로그램 (0) | 2024.11.23 |
---|---|
JAVA 에서 대칭키(AES-256) 암호화 하기 (0) | 2024.10.21 |
String.format 이용한 문자열 형식 설정 (0) | 2022.08.01 |
Java 정규표현식 (Regular Expression) (0) | 2022.07.30 |
Java image resize 크기 변환 (0) | 2022.07.04 |