오늘 날짜나 현재 시간 등을 시스템 날짜 기준으로 가져오는 경우가 필요로 하다. 그래서, 이번 글에서는 오늘 날짜와 시간, 시스템 날짜를 기준으로 값을 가져오는 방법에 기록한다. 다만, Java 8 버전 미만일 경우에 대해 기록한다. 이 방법은 Java 8버전 이상일 경우에서도 사용할 수는 있다.
목차
1. 라이브러리 Import
2. Date 사용 방법
3. SimpleDateFormat을 이용한 데이터 가져오는 방법
1. 라이브러리 Import
오늘 날짜나 시간 등을 가져올 때 사용하는 라이브러리는 아래와 같다.
- import java.util.Date
- import java.util.Calendar;
import java.util.Date;
import java.util.Calendar;
2. Date 사용 방법
Date의 사용방법은 정말 간단하다. 1번에서의 라이브러리를 import한 다음에 아래와 같이 선언한다. 위에서 Calendar 라이브러리를 import하는 이유는 이제는 Date 라이브러리를 더이상 지원을 하지 않아서 Calendar 라이브러리를 사용해야 제대로 된 값을 가져올 수 있다.
즉, 아래의 예시를 보자
import java.util.Date;
public class Main {
public static void main(String[] args) throws IOException {
Date date = new Date();
System.out.println(date.getYear()); // 123 출력
}
}
위의 코드를 실행하면, 123을 출력한다. 이게 date.getYear를 보면, 1900년대로 세팅이 되어 있어 현재 년도에서 1900을 뺸 값이 나온다.
위의 코드에서 출력하는 부분을 아래로 바꿔보자.
System.out.println(date.getYear() + 1900);
이렇게 바꾸면 2023이라는 값을 출력하게 된다.
그래서, 우리는 Calendar라는 라이브러리를 같이 사용하여 이 귀찮음을 없애려고 한다.(사실 귀찮으면 JDK 버전을 올리면 되겠지만 그럴 환경이 아니라서 이것을 써야 한다.)
Date와 Calendar의 사용 방법은 아래와 같다.
Date date = new Date();
Calendar c = Calendar.getInstance(); // Calendar 인스턴스 생성
c.setTime(date); // 날짜 세팅
int year = c.get(c.YEAR);
int month = c.get(c.MONTH) + 1;
int day = c.get(c.DATE);
System.out.println(year); // 2023
System.out.println(month); // 5
System.out.println(day); // 22
Calendar 인스턴스에 Date 객체의 date를 넣어 날짜 세팅을 한 다음에, c라는 객체에서 값을 가져오면 된다. 여기서 주의 할 점은 MONTH를 가져올 때는 1을 더하여 가져와야 한다.
그레고리력과 율리우스 력에 따라 1월이 0으로 표현된다고 하는데, 그냥 1을 더해서 가져오면 된다.
3. SimpleDateFormat을 이용한 데이터 가져오는 방법
2번보다 더 편하게 날짜 형식에 맞게 데이터를 가져오는 방법도 있다. 바로 SimpleDateFormat을 사용하여 형식에 맞게 데이터를 가져오는 방법이다.
1) 라이브러리 import
- import java.text.SimpleDateFormat;
import java.text.SimpleDateFormat;
위의 라이브러리를 import를 하면 된다.
2) 사용 방법
사용 방법은 먼저 3-1번에서 라이브러리를 import하고, 객체를 선언한다.
SimpleDateFormat dateForamt = new SimpleDateFormat("yyyyMMdd");
그리고 나서, 이 포맷을 적용시킬 date 객체를 넣어 주고 String형으로 리턴한다.
String test = dateFormat(date);
그러면 위의 dateFormat에 대한 형식은 "yyyyMMdd" 형식이기 때문에 현재날짜를 이 형식에 맞게 가져온다.
3) 전체 소스
package test;
import java.io.IOException;
import java.util.Calendar;
import java.util.Date;
import java.text.SimpleDateFormat;
public class Main {
public static void main(String[] args) throws IOException {
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
String a = sdf.format(date);
System.out.println(a);
}
}
'Language > Java' 카테고리의 다른 글
[Java] Java KST 시간에서 연월일 추출하는 방법 (0) | 2023.06.01 |
---|---|
[Java] Java 트랜잭션 롤백 예외 처리 하는 방법 (0) | 2023.05.25 |
[Java] Java JCO Key 가져오는 방법(getExportParameterList()) (0) | 2023.05.24 |
[Java] Java HashMap Key 가져오는 방법(Iterator 사용) (0) | 2023.05.22 |
[Java] Java에서 SAP JCO RFC 인터페이스 통신하는 방법 (0) | 2023.05.16 |
[Java] 자바 Int형 변수 String으로 변환하는 방법 (0) | 2023.03.03 |
[Java] 자바(Java) URLConnection&HttpURLConnection&HttpsURLConnection 설명 및 사용 방법 (0) | 2023.02.15 |
[Java] 자바(Java) request.getRemoteAddr() 0:0:0:0:0:0:0:1 나오는 문제 해결 하는 방법 (0) | 2022.12.14 |
최근댓글