[JAVA] Date, SimpleDateFormat, Calendar 사용법

2021. 3. 23. 21:53· BE/Java
반응형

안녕하세요

이번 포스팅에서는 날짜형식을 원하는 형식으로 출력하는 방법과 문자열 - 날짜로 변환하는 방법을 알아보겠습니다.

아래의 예제 소스를 보면서 확인해보겠습니다.

 

 


0. import 하기

예제의 자료형을 사용하기 위해 아래의 소스처럼 import를 해줘야합니다.

import java.util.Date;
import java.util.Calendar;
import java.text.SimpleDateFormat;

 

1. 오늘 날짜 구하기

Date today = new Date();

SimpleDateFormat format1 = new SimpleDateFormat("yyyy년 MM월 dd일 hh시 mm분 ss초");
SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
SimpleDateFormat format3 = new SimpleDateFormat("오늘 날짜 : yyyy년도 MM월, 현재 시각 : hh시 mm분");

String strFormat1 = format1.format(today);
String strFormat2 = format2.format(today);
String strFormat3 = format3.format(today);

System.out.println("날짜 형식 지정 안 한 경우 : " + today);
System.out.println("strFormat1형식 : " + strFormat1);
System.out.println("strFormat2형식 : " + strFormat2);
System.out.println("strFormat3형식 : " + strFormat3);

오늘 날짜 정보를 가지고 있는 today변수를 SimpleDateFormat을 이용해 날짜 형식을 자유자재로 출력한 소스입니다.

 

 

 

 

2. String 자료형에서 날짜 형식으로 변환하기

String todayStr = "20210323";
String tomorrowStr = "2021년도 03월 24일 21시 30분 35초";

SimpleDateFormat format1 = new SimpleDateFormat("yyyyMMdd");
SimpleDateFormat format2 = new SimpleDateFormat("yyyy년도 MM월 dd일 hh시 mm분 ss초");

Date todayDate = format1.parse(todayStr);
Date tomorrowDate = format2.parse(tomorrowStr);

System.out.print(todayDate);
System.out.println();
System.out.print(tomorrowDate);

String 자료형에서 Date 자료형으로 변환할 때도 SimpleDateFormat을 이용해서 변환이 가능합니다.

 

 

 

3. 날짜 계산하기

String tomorrowStr = "2021년도 03월 24일 21시 30분 35초";

SimpleDateFormat format = new SimpleDateFormat("yyyy년도 MM월 dd일 hh시 mm분 ss초");

Date tomorrowDate = format.parse(tomorrowStr);

Calendar cal = Calendar.getInstance();
cal.setTime(tomorrowDate);

System.out.println("날짜 변경 전 : "+ cal.getTime());

cal.add(Calendar.YEAR, 2);	// 연도 수정
cal.add(Calendar.MONTH, 2);	// 월 수정
cal.add(Calendar.DATE, 2);	// 날짜 수정
cal.add(Calendar.HOUR_OF_DAY , 2);	// 시 수정
cal.add(Calendar.MINUTE, 2);	// 분 수정
cal.add(Calendar.SECOND, 2);	// 초 수정

System.out.println("날짜 변경 후 : "+ cal.getTime());

위 3번 예제처럼 calendar 자료형을 이용해 날짜를 수정할 수 있습니다.

날짜를 빼려면 음수를 사용하면 됩니다.

 

 

 

4. 두 날짜의 차이 구하기

String todayStr = "20210323";
String tomorrowStr = "2021년도 03월 24일 21시 30분 35초";

SimpleDateFormat format1 = new SimpleDateFormat("yyyyMMdd");
SimpleDateFormat format2 = new SimpleDateFormat("yyyy년도 MM월 dd일 hh시 mm분 ss초");

Date todayDate = format1.parse(todayStr);
Date tomorrowDate = format2.parse(tomorrowStr);

long dateGap = tomorrowDate.getTime() - todayDate.getTime(); 

long dateGapDay = dateGap / ( 24*60*60*1000); 

dateGapDay = Math.abs(dateGapDay);      //Math.abs는 인자값을 절대값으로 반환하는 함수(음수 양수 상관없이 양수로 반환)

System.out.println("두 날짜의 날짜 차이: "+dateGapDay);

 

반응형

'BE > Java' 카테고리의 다른 글

[Java] 디컴파일해주는 jd-gui  (0) 2021.10.15
[cron 표현식] / 사용 시 유의 점  (0) 2021.07.08
[JAVA] BigDecimal 자료형 사용방법  (0) 2021.03.16
[JAVA] EOF(End of File) 처리 방법  (0) 2021.02.23
[Java] BufferedReader, BufferedWriter  (0) 2021.02.21
'BE/Java' 카테고리의 다른 글
  • [Java] 디컴파일해주는 jd-gui
  • [cron 표현식] / 사용 시 유의 점
  • [JAVA] BigDecimal 자료형 사용방법
  • [JAVA] EOF(End of File) 처리 방법
멍목
멍목
개발 관련 새롭게 알게 된 지식이나 좋은 정보들을 메모하는 공간입니다.
반응형
멍목
김멍목의 개발블로그
멍목
전체
오늘
어제
  • 분류 전체보기 (514)
    • BE (190)
      • Spring (21)
      • Java (141)
      • Kotlin (6)
      • JPA (22)
    • FE (33)
      • Javascript (16)
      • Typescript (0)
      • React (5)
      • Vue.js (9)
      • JSP & JSTL (3)
    • DB (32)
      • Oracle (22)
      • MongoDB (10)
    • Algorithm (195)
    • Linux (8)
    • Git (6)
    • etc (42)
    • ---------------------------.. (0)
    • 회계 (4)
      • 전산회계 2급 (4)
    • 잡동사니 (2)

블로그 메뉴

  • 홈
  • 관리

공지사항

인기 글

태그

  • 이펙티브 자바
  • MongoDB 공부
  • 코테공부
  • 자기개발
  • 코테 공부
  • 알고리즘공부
  • 알고리즘 공부
  • 자기 공부
  • MongoDB with Node.js
  • 자기 개발
  • 코틀린
  • junit5
  • Java to Kotlin
  • JPA 공부
  • 전산회계 2급 준비
  • Effective Java
  • 자바 공부
  • 더 자바 Java 8
  • 자기공부
  • 프로젝트로 배우는 Vue.js 3
  • Oracle
  • vue3 공부
  • java 8
  • 자바 테스팅 프레임워크
  • 자바공부
  • 자바 개발자를 위한 코틀린 입문
  • 이펙티브자바
  • 더 자바 애플리케이션을 테스트하는 다양한 방법
  • JPA
  • MongoDB 기초부터 실무까지

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.0
멍목
[JAVA] Date, SimpleDateFormat, Calendar 사용법
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.