| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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
- Hexagonal
- hexagonal architecture
- Transaction
- Adapter
- JPA
- 실무
- JDBC
- Layered Architecture
- springboot
- transactional
- simplejpaRepository
- Spring Data JPA
- Spring
Archives
- Today
- Total
Ezcho
[java] Date, Calendar클래스, Time 패키지 본문
Java내에서 날짜와 시간을 나타내기 위해서는 Date와 Calendar클래스를 사용한다.
Date 클래스
-1.0 부분부터 만들어짐
-Date 는 지역화에 대한 고려가 되어있지 않음(여러 국가의 시차가 다른점)
-생성자: Deprecated
-메서드: 대부분 Deprecated
Deprecated: 앞으로 지원하지 않을 수 있거나, 문제가 될 수 있음(사용하지 마세요)
-사용: java.utill package
Date date = new Date(); //현재 시간과 날자 instance 를 Date객체가 가짐
date.toString; //으로 출력
SimpleDateFormat ft = new SimpleDateFormat("yyyy.MM.dd 'at' hh:mm:ss a zzz")
//MM은 대문자로(min 이랑 Month 랑 헷갈리지 않게)
//a 는 오전 오후의 표시
System.out.println(ft.format(date)); //출력
System.out.println(date.getTime()); //long 값으로 현재시간 출력
Long today = System.currentTimeMillis();
System.out.println(today); //long값으로 시스템 시간 출력
System.out.println(today - date.getTime()); //걸린 시간을 출력가능
Calendar 클래스
-Date보다 조금 더 나중에 만들어짐 JDK 1.1
-상수값으로 얻어올 수 있음
-추상 클래스(미완성된 메서드를 가지고 있음, new로 인스턴스 생성 불가)
-Gregorian Calendar라는 Calendar의 자식 클래스를 리턴한다.
-새로운 달력 형식이 나올 수 있기때문에 Gregorian Calendar클래스를 사용하는것이다.
-사용: java.utill package
Calendar cal = Calendar.getinstance();
System.out.println(cal.get(Calendar.Year)); //연도의 정보
System.out.println(cal.get(Calendar.XXX));
/*XXX에 대표적으로 많이 사용되는것들
MOHTH //월에 대한 정보(0~11 까지 1~12월 표현)
YEAR //현재 연도에 대한 정보
DATE //현재 일에 대한 정보
HOUR //시간을 12시간 단위로 표현
HOUR_OF_DAY //시간을 24시간 단위로 표현
MINUTE //현재 분을 출력
*/
cal.add //시간을 더하는 메서드
cal.add(Calendar.HOUR, 5); //출력방법은 동일함(5시간 이후로)
Time 패키지
-Utill.date클래스는 직관적이지 못하다는 단점을 갖고있음
-Joad-Time 에서 직관적인 디자인을 한 Date, TimeApi 를 제공
-핵심 클래스는 오브젝트를 생성하기 위해 다양한 factory 메서드를 사용한다.
-오브젝트 자기 자신의 특정 요소를 가지고 오브젝트를 생성할 경우 of 메서드를 호출하면 된다.
-다른 타입으로 변경할 경우에는 from 메서드를 호출하면 된다.
사용법
LocalDateTime timePoint = LocalDateTime.now();
//현재의 날짜와 시간을 가진 객체 생성
System.out.println(timePoint);
LocalDate ld1 = LocalDate.of(2012, Month.DECEMBER, dayOfMonth);
System.out.println(ld1); //2012-12-12
LocalTime lt1 = LocalTime.of(17, 18); //시간만 가지는 객체 생성
LocalTime lt2 = LocalTime.parse("10:15:30"); //객체 생성
//현재와 날짜와 시간정보를 getter메소드를 이용하여 구하는 방법
LocalDate theDate = timePoint.toLocalDate();
Month month = timePoint.getMonth();
int day = timePoint.getDayOfMonth();
int hour = timePoint.getHour();
int minute = timePoint.getMinute();
int second = timePoint.getSecond();
// 달을 숫자로 출력
System.out.println(month.getValue() + "/" + day + " " + hour + ":" + minute + ":" + second);
'Java' 카테고리의 다른 글
| [java] java IO - Byte단위 입출력 (0) | 2022.11.16 |
|---|---|
| [java] 어노테이션 (0) | 2022.11.09 |
| [java] java.util패키지 (0) | 2022.11.02 |
| [java] Math Class (0) | 2022.10.12 |
| [java] String과 StringBuffer (0) | 2022.10.12 |
Comments
