코드일기장

[Java] SimpleDateFormat() 본문

Java

[Java] SimpleDateFormat()

won_hyeok2 2022. 3. 6. 21:52

 

 

Date와 Calendar만으로 날짜 데이터를 원하는 형태로 다양하게 출력하는 것은 불편하다. 

그런 불편함을 해소하고자 만들어진 것이 SimpleDateFormat이다.

 

 

 

- 날짜와 시간을 다양한 형식으로 출력할 수 있게 해 준다.

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

public class DecimalClass {

	public static void main(String[] args){
		Date today = new Date();
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		System.out.println(sdf.format(today));
	
	}
}
2022-03-06

 

 

 

 

기호 의미 보기
G 연대(BC~AD) AD
y 년도 2006
M 월(1~12 또는 1월~12월) 10 또는 10월, OCT
w 년의 몇 번째 주(1~53) 50
W 월의 몇 번째 주(1~5) 4
D 년의 몇 번째 일(1~366) 155
d 월의 몇 번째 일(1~31) 20
F 월의 몇 번째 요일(1~5) 1
E 요일
a 오전/오후(AM,PM) PM

날짜

 

기호 의미 보기
H 시간(0~23) 21
k 시간(1~24) 21
h 시간(1~12) 9
K 시간(0~11) 21
m 분(0~59) 23
s 초(0~59) 40
S 천분의 일초(0~999) 450
z Time zone(General time zone) GMT+9:00
Z Time zone(RFC 882 time zone) +0900

시간

 

 

 

반대로 문자열에서 날짜와 시간을 뽑아낼 수 있다.

DecimalFormat이랑 똑같다. 문자열을 날짜와 시간으로 바꿀 때는 parse를 사용한다.

 

 


 

 

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

public class DecimalClass {

	public static void main(String[] args){
		Date today = new Date();
		SimpleDateFormat sdf1, sdf2, sdf3, sdf4,
						 sdf5, sdf6, sdf7, sdf8, sdf9;
		
		sdf1 = new SimpleDateFormat("yyyy-MM-dd");
		sdf2 = new SimpleDateFormat("''yy년 M월 d일 E요일");
		sdf3 = new SimpleDateFormat("yyyy-MM-dd H:m:s.SSS");
		sdf4 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss a");
		sdf5 = new SimpleDateFormat("오늘은 올 해의 D번째 날입니다.");
		sdf6 = new SimpleDateFormat("오늘은 이 달의 d번째 날입니다.");
		sdf7 = new SimpleDateFormat("오늘은 올 해의 w번째 주입니다.");
		sdf8 = new SimpleDateFormat("오늘은 이 달의 W번째 주입니다.");
		sdf9 = new SimpleDateFormat("오늘은 이달의 F번째 E요일입니다.");
		
		System.out.println(sdf1.format(today));
		System.out.println(sdf2.format(today));
		System.out.println(sdf3.format(today));
		System.out.println(sdf4.format(today));
		System.out.println(sdf5.format(today));
		System.out.println(sdf6.format(today));
		System.out.println(sdf7.format(today));
		System.out.println(sdf8.format(today));
		System.out.println(sdf9.format(today));
	}
}

 

2022-03-06
'22년 3월 6일 일요일
2022-03-06 21:36:7.717
2022-03-06 09:36:07 오후
오늘은 올 해의 65번째 날입니다.
오늘은 이 달의 6번째 날입니다.
오늘은 올 해의 11번째 주입니다.
오늘은 이 달의 2번째 주입니다.
오늘은 이달의 1번째 일요일입니다.

 

 


 

 

 

Calendar클래스와 SimpleDateFormat

 

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

public class DecimalClass {

	public static void main(String[] args){
		SimpleDateFormat df = new SimpleDateFormat("yyyy년 MM월 dd일");
		SimpleDateFormat df2 = new SimpleDateFormat("오늘은 E요일입니다.");
		Calendar cal = Calendar.getInstance();
		cal.set(2022,4,8);
        
		String str = df.format(cal.getTime());
		
		String str2 = df2.format(cal.getTime());
        
        System.out.println(str);
		System.out.println(str2);
	}
}
2022년 05월 08일
오늘은 일요일입니다.

 

 

 

'Java' 카테고리의 다른 글

[Java] Iterator  (0) 2022.07.13
[Java] 형식화 클래스, DecimalFormat  (0) 2022.03.06
[Java] Calendar 예제  (0) 2022.03.03
[Java] Calendar 클래스  (0) 2022.02.25
[Java] StringBuffer의 생성자와 메서드  (0) 2022.02.18
Comments