일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Vue
- dabase
- k8s
- IntelliJ
- CI/CD
- 해시맵
- 프로그래머스
- 자바
- 코딩테스트연습
- Kubernetes
- SpringMVC
- CKA
- Spring
- builder-pattern
- JPA
- programmers
- CI
- cd
- 뷰
- hibernate
- DevOps
- superBuilder
- java
- vuejs
- docker
- 알고리즘
- ORM
- Oracle
- map
- Di
Archives
- Today
- Total
문홍의 공부장
Calendar 클래스의 개념과 예제 (Calendar class in java) 본문
반응형
Calendar 클래스
Calendar
클래스는 Date 클래스와 마찬가지로 날짜와 시간을 다루는 클래스이다. Calendar 클래스가 새로 추가되면서 Date 대부분의 메소드는 deprecated 되어 잘 사용하지 않으나, 경우에 따라 Date 의 메소드를 그대로 사용하거나, 혹은 Calendar 클래스와 상호 변환하는 상황이 있다.
추상 클래스이기 때문에 직접 new 하여 객체 생성이 불가하고, Calendar.getInstance()
메소드를 이용하거나 Calendar 클래스를 상속받는 GregorianCalendar
클래스를 이용하여 객체를 생성할 수 있다.
Calendar 클래스의 주요 상수
상수 | 사용방법 | 설명 |
static int YEAR | Calendar.YEAR | 현재 년도 |
static int MONTH | Calendar.MONTH | 현재 월 (1월: 0) |
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 | 현재 시간 (12시간제) |
static int HOUR_OF_DAY | Calendar.HOUR_OF_DAY | 현재 시간 (24시간제) |
static int MINUTE | Calendar.MINUTE | 현재 분 |
static int SECOND | Calendar.SECOND | 현재 초 |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
public static void main(String[] args) {
Calendar today = Calendar.getInstance();
int year = today.get(Calendar.YEAR);
int month = today.get(Calendar.MONTH);
int date = today.get(Calendar.DATE);
int woy = today.get(Calendar.WEEK_OF_YEAR);
int wom = today.get(Calendar.WEEK_OF_MONTH);
int doy = today.get(Calendar.DAY_OF_YEAR);
int dom = today.get(Calendar.DAY_OF_MONTH);
int dow = today.get(Calendar.DAY_OF_WEEK);
int hour12 = today.get(Calendar.HOUR);
int hour24 = today.get(Calendar.HOUR_OF_DAY);
int minute = today.get(Calendar.MINUTE);
int second = today.get(Calendar.SECOND);
int milliSecond = today.get(Calendar.MILLISECOND);
int timeZone = today.get(Calendar.ZONE_OFFSET);
int lastDate = today.getActualMaximum(Calendar.DATE);
System.out.println("오늘은 " + year +"년 " + month+1 + "월" + date +"일");
System.out.println("오늘은 올해의 " + woy +"째주, 이번달의 " + wom + "째주. " + date +"일");
System.out.println("오늘은 이번 해의 " + doy +"일이자, 이번 달의 " + dom + "일. 요일은 " + dow +"일 (1:일요일)");
System.out.println("현재 시각은 " + hour12 +":"+ minute + ":"+ second +", 24시간으로 표현하면 " + hour24+":"+ minute + ":"+ second);
System.out.println("오늘은 " + year +"년 " + month+1 + "월" + date +"일");
System.out.println("1000분의 1초 (0~999): " + milliSecond);
System.out.println("timeZone (-12~+12): " + timeZone/(60*60*1000)); // 1000분의 1초를 시간으로 표시하기 위해 60*60*1000
System.out.println("이 달의 마지막 날: " + lastDate);
}
|
cs |
Calendar 클래스의 주요 메소드
메소드 | 설명 |
static Calendar getInstance() | 현재 날짜와 시간 정보를 가진 Calendar 객체를 생성한다. |
boolean after(Object when) | when과 비교하여 현재 날짜 이후이면 true, 아니면 false를 반환한다. |
boolean before(Object when) | when과 비교하여 현재 날짜 이전이면 true, 아니면 false를 반환한다. |
boolean equals(Object obj) | 같은 날짜값인지 비교하여 true, false를 반환한다. |
int get(int field) | 현재 객체의 주어진 값의 필드에 해당하는 상수 값을 반환한다.이 상수값은 Calendar 클래스의 상수중에 가진다. |
Date getTime() | 현재의 객체를 Date 객체로 변환한다. |
long getTimeInMills() | 객체의 시간을 1/1000초 단위로 변경하여 반환한다. |
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 객체의 날짜와 시간 정보를 현재 객체로 생성한다. |
void setTimeInMills(long mills) | 현재 객체를 1/1000초 단위의 주어진 매개변수 시간으로 설정한다. |
int getActualMinimum(int field) | 현재 객체의 특정 필드의 최소 값을 반환한다. |
int getActualMaximum(int field) | 현재 객체의 특정 필드의 최대 값을 반환한다. |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
public static void main(String[] args) {
final String[] DAY_OF_WEEK = {"", "일", "월", "화", "수", "목", "금", "토"};
Calendar date1 = Calendar.getInstance();
Calendar date2 = Calendar.getInstance();
System.out.println("date1은 " + toString(date1) + DAY_OF_WEEK[date1.get(Calendar.DAY_OF_WEEK)] +"요일이고, \n"
long difference = (date2.getTimeInMillis() - date1.getTimeInMillis())/ 1000;
System.out.println("date1부터 지금까지 " + difference + "초가 지났고, \n"
+ "일(day)로 계산하면 " + difference/(24*60*60) +"일이 지났다. ");
}
private static String toString(Calendar date) {
return date.get(Calendar.YEAR)+ "년 " + (date.get(Calendar.MONTH)+1) +"월 " + date.get(Calendar.DATE) +"일 ";
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none;color:white">cs |
반응형
'개발 > Java' 카테고리의 다른 글
[Java] 정규표현식(Regular Expression) : 자주 쓰는 정규식 정리(휴대전화, 이메일, 비밀번호 등) (1) | 2020.02.07 |
---|---|
[Java 8] java.time 패키지: Java LocalDate, LocalDateTime 클래스 사용법 (java.time package in Java SE8) (0) | 2020.01.27 |
Java SimpleDateFormat 으로 날짜/시간/요일 표현하기 (0) | 2020.01.26 |
Java DecimalFormat으로 세 자리마다 콤마(,) 찍기, 소수점 자리수 표시하기 (Decimalformat in java) (0) | 2020.01.26 |
HashMap 클래스의 개념과 예제 (Hashmap Java example) (0) | 2020.01.14 |