일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 인텔리제이
- dependency
- Jenkins
- unboxing
- 싱글턴
- bootstrap
- suvlet
- 제네릭
- 무한
- https://start.spring.io
- 박싱
- Short
- 자동형변환
- 언박싱
- 스프링
- 빌드
- 루프
- 클래스
- start.spring.io
- Scanner
- wrapper
- boxing
- 제너릭
- 내장객체
- 메소드
- 컬렉션
- maven
- Java
- 콜렉션
- 싱글톤
Archives
- Today
- Total
Developer Gonie
[3주차] 63. 날짜, 일자, 시간 정보를 얻는 Calendar 클래스 본문
* Calendar 클래스는 생성자가 protected 접근제어자여서 new로 직접 객체를 생성할 수 없는데,
getInstance() 메소드를 통해 객체를 생성해올 수 있다는 것을 알고 사용해야한다.
코드
import java.util.Calendar;
public class Ex08_08_Calendar {
public static void main(String[] args) {
// Calendar cal = new Carlenar(); 이와 같이 바로 객체를 생성하는 것이 불가함.
// Calendar의 생성자는 protected로 접근제어자가 지정되어 있기 때문에 접근이 불가능해 객체를 생성할 수 없다.
// 대신에 Calendar 는 멤버함수로 static으로 getInstance 메서드를 가지고 있어 만들어진 객체를 받을 수 있음.
// Calendar 객체생성
Calendar cal = Calendar.getInstance();
System.out.println(cal.toString()); // Calendar는 toString을 오버라이딩 해두어 주소가 아닌 날짜정보 값이 출력됨
System.out.println();
// index를 지정하여 객체가 가지고 있는 시간정보 배열에서 값을 가져올 수 있음
System.out.println(cal.get(1));
System.out.println();
// 클래스 내부에 final 상수로 다음과 같은 이름이 매칭되어 있어 아래 방식으로 더욱 편리하게 사용가능
System.out.println(cal.get(Calendar.YEAR) + "년");
System.out.println(cal.get(Calendar.MONTH) + 1 + "월"); // 주의! +1 해줘야 원하는 월이 나온다. 숫자는 0부터 1월이라서
System.out.println(cal.get(Calendar.DATE) + "일");
System.out.println();
// 현재시각 출력
int ampm = cal.get(Calendar.AM_PM); // 오전이면 0, 오후이면 1 반환
if (ampm == Calendar.AM) { // ampm == 0 과 같지만 더욱 가독성 좋은 코드
System.out.print("현재 시간은 AM: ");
} else {
System.out.print("현재 시간은 PM: ");
}
System.out.println(
cal.get(Calendar.HOUR) + "시" + cal.get(Calendar.MINUTE) + "분" + cal.get(Calendar.SECOND) + "초");
System.out.println();
// 오늘의 요일 출력
System.out.println(cal.get(Calendar.DAY_OF_WEEK)); // 일:1, 월:2, 화:3, ...
String[] week = { " ", "일", "월", "화", "수", "목", "금", "토" };
System.out.println(week[cal.get(Calendar.DAY_OF_WEEK)] + "요일");
}
}
실행결과
java.util.GregorianCalendar[time=1653965159455,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Seoul",offset=32400000,dstSavings=0,useDaylight=false,transitions=30,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2022,MONTH=4,WEEK_OF_YEAR=23,WEEK_OF_MONTH=5,DAY_OF_MONTH=31,DAY_OF_YEAR=151,DAY_OF_WEEK=3,DAY_OF_WEEK_IN_MONTH=5,AM_PM=0,HOUR=11,HOUR_OF_DAY=11,MINUTE=45,SECOND=59,MILLISECOND=455,ZONE_OFFSET=32400000,DST_OFFSET=0]
2022
2022년
5월
31일
현재 시간은 AM: 11시45분59초
3일
화요일
'K-DigitalTraining 강의 > 1. Java' 카테고리의 다른 글
[4주차] 65. 제네릭 타입 및 제네릭 메소드* (0) | 2022.06.02 |
---|---|
[3주차] 64. 날짜, 일자, 시간 정보를 원하는 포멧대로 출력하는 SimpleDateFormat클래스 (0) | 2022.06.02 |
[3주차] 62. 구분자를 기준으로 하는 문자열 파싱 방법(StringTokenizer 클래스, String 클래스)*** (0) | 2022.06.02 |
[3주차] 61. Wrapper 클래스의 메소드 및 박싱/언박싱 *** (0) | 2022.06.02 |
[3주차] 60. String 클래스의 멤버함수(메서드) 한방에 정리*** (0) | 2022.06.02 |
Comments