일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- CSS
- Linux
- vb.net
- workbench
- github
- SQL_용어정리
- git
- 배열
- 이클립스
- Git_명령어정리
- 인스턴스
- 인덱스
- Git_정리
- DML
- json
- Spring_에러정리
- asp.net
- 자바
- SQL
- Linux_명령어정리
- 아파치톰캣
- 다이어그램
- jsp
- spring
- 자바스크립트
- MySQL
- JavaScript
- java
- Spring_오류정리
- HTML
- Today
- Total
데브마우스
[Java] 시간 관련 클래스와 메서드 정리 본문
Java에서는 시간을 처리하는 클래스가 다양하게 존재합니다.
Java에서 시간 관련 클래스들을 보면 Java 1.0부터 존재했던 시간 관련 클래스부터 1.8에 나온 시간 관련 클래스 등 꾸준하게 발전해온 흔적을 볼 수 있습니다.
System.currentTimeMills() : long
시간 관련 메서드입니다.
1970년 1월 1일부터 현재 시간까지 밀리초(1/1000초)기준으로 반환합니다.
반환 타입은 long 타입입니다.
대신 long 타입으로 반환만 할 뿐, 다른 값은 주지 않기 때문에 사용자가 스스로 시간을 계산하는 코드를 작성해야 합니다.
프로그램 동작 시간을 계산하는데 유용하게 사용할 수 있습니다.
java.util.Date
JDK 1.1 버전부터 여러 가지 문제가 발생하여 사용되지 않게 되었습니다. 가능하면 쓰지 않는걸 추천합니다.
mutable(가변한) 속성이 있습니다.
출시 버전: 1.0
java.util.Calendar
Java에서 날짜를 다루기 위한 Calendar 클래스입니다.
인스턴스 생성을 위해서는 싱글턴 패턴인 getInstance()메서드를 통해 생성하거나 new GregorainCalendar()로 생성합니다.
출시 버전: 1.1
주의할 점:
- 월(月, Month) 값을 반환 할 때, 1월은 0을 반환합니다. 그러니까 11을 반환받았다면 실제로는 12월을 의미합니다.
- 요일 반환 시 int 값으로 반환하는데 일요을은 1을 반환합니다. 토요일은 7을 반환합니다.
- 객체 생성 후 .toString()메서드로 값을 출력시키면 시간, 서머타임, 타임존 등 모든 값을 다 출력합니다.
java.time 패키지
java.time 패키지는 날짜와 시간을 다루기 위한 패키지입니다.
immutable(불변한) 속성이 있기 때문에 날짜나 시간 값을 변경하면 새로운 객체를 반환하는 특징이 있습니다.
클래스에는 LocalDate, LocalTime, LocalDateTime, ZonedDateTime 클래스가 있습니다.
LocalDate 클래스: 클래스에 날짜 정보를 저장합니다.
LocalTime 클래스: 클래스에 시간 정보를 저장합니다.
LocalDateTime 클래스: LocalDate와 LocalTime 클래스를 결합한 클래스입니다.
ZonedDateTime 클래스: ISO-8601 달력 시스템에서 정의하는 TimeZone에 따라 날짜와 시간을 저장하는 클래스입니다.
LocalDate의 객체 생성 방법은 아래 코드와 같습니다.
import java.time.LocalDate;
public class Main {
public static void main(String[] args) {
LocalDate ld = LocalDate.now();
System.out.println(ld);
}
}
'Java > Java: 문법 정리' 카테고리의 다른 글
[Java] BigDecimal 클래스 (0) | 2024.01.14 |
---|---|
[Java] Random 클래스 정리 #난수 (0) | 2024.01.14 |
[Java] 문자열 클래스(String.class)의 메서드 정리 (0) | 2024.01.14 |
[Java] 사용자 정의 예외(Exception) 정리 (0) | 2024.01.13 |
[Java] 추상 메서드와 추상 클래스 정리 (0) | 2024.01.13 |