자바 현재 시간 yyyyMMddHHmmss - jaba hyeonjae sigan yyyyMMddHHmmss

Java / / 2019. 10. 15. 00:00

자바에서 날짜변환하는 방법을 확인해보겠습니다.

String to Date , Date to String 각각을 확인해보겠습니다.

두 케이스 모두 SimpleDateFormat 클래스를 활용하면 됩니다.

SimpleDateFormat 클래스를 원하는 형식으로 생성해준 뒤 date클래스를 포맷 변경해주면 됩니다.

또한 날짜형식의 String 변수를 parse()메소드를 활용해 Date Type으로 변환도 가능합니다.

java에서 날짜 패턴 표는 아래와 같습니다.

가장 많이 있는 년,월,일,시간,분,초 밀리초를 확인해보겠습니다.

*대소문자 중요

yyyy : 년도

MM : 월

dd : 일

hh : 시간

mm : 분

ss : 초

SSS 밀리초

#소스 샘플

package com.supercoding; import java.text.SimpleDateFormat; import java.util.Date; public class Main { public static void main(String[] args) { try{ //Date to String 변환 SimpleDateFormat sDate = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sDate1 = new SimpleDateFormat("yyyy.MM.dd"); SimpleDateFormat sDate2 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS"); System.out.println(sDate.format(new Date())); System.out.println(sDate1.format(new Date())); System.out.println(sDate2.format(new Date())); //String to Date 변환 String from = "2019.03.03"; SimpleDateFormat fDate = new SimpleDateFormat("yyyy.MM.dd"); //같은 형식으로 맞춰줌 Date n = fDate.parse(from); System.out.println(n.getTime()); }catch (Exception e){ System.out.println(e.toString()); } } }

#출력결과

String to Date 변환시, 디버깅으로 Date type으로 정상적으로 변환 되었는지 객체의 정보 확인해보겠습니다.

String 값인 "2019.03.03" 이  Sun Mar 03 00:00:00 KST 2019 로 Date type으로 변환된 것을 알 수 있습니다.

Date클래스를 이용하여 현재 날짜를 출력하면 영문으로 된 날짜를 리턴한다. 특정 문자열 포맷으로 얻고 싶으면 java.text.SimpleDateFormat 클래스를 이용하면 된다. 다음은 오늘 날짜를 yyyy 년 MM월 dd일로 출력하는 예제이다.  

package testProject; import java.text.SimpleDateFormat; import java.util.Date; public class simpleDateFormatEx { public static void main(String[] args) { Date nowDate = new Date(); System.out.println("포맷 지정 전 : " + nowDate); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy년 MM월 dd일"); //원하는 데이터 포맷 지정 String strNowDate = simpleDateFormat.format(nowDate); //지정한 포맷으로 변환 System.out.println("포맷 지정 후 : " + strNowDate); } }

Date 객체뿐만 아니라 String 문자열 또한 SimpleDateFormat 클래스를 이용하면 쉽게 원하는 패턴의 포맷으로 변경할 수 있다. 

package testProject; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class simpleDateFormatEx { public static void main(String[] args) { // 날짜 형식 변환시 parsing 오류를 try catch로 체크 try { String strDate = "20200806"; SimpleDateFormat dtFormat = new SimpleDateFormat("yyyyMMdd"); SimpleDateFormat newDtFormat = new SimpleDateFormat("yyyy-MM-dd"); // String 타입을 Date 타입으로 변환 Date formatDate = dtFormat.parse(strDate); // Date타입의 변수를 새롭게 지정한 포맷으로 변환 String strNewDtFormat = newDtFormat.format(formatDate); System.out.println("포맷 전 : " + strDate); System.out.println("포맷 후 : " + strNewDtFormat); }catch (ParseException e) { e.printStackTrace(); } } }

다음은 다양한 포맷을 적용해서 얻은 문자열 입니다.

package testProject; import java.text.SimpleDateFormat; import java.util.Date; public class simpleDateFormatEx { public static void main(String[] args) { Date nowDate = new Date(); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd"); System.out.println(simpleDateFormat.format(nowDate)); simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); System.out.println(simpleDateFormat.format(nowDate)); simpleDateFormat = new SimpleDateFormat("yyyy.MM.dd a HH:mm:ss"); System.out.println(simpleDateFormat.format(nowDate)); simpleDateFormat = new SimpleDateFormat("오늘은 E요일 입니다."); System.out.println(simpleDateFormat.format(nowDate)); } }

날짜를 원하는 형식으로 표현하기 위해 패턴을 사용하는데 다음 표는 SimpleDateFormat의 패턴 장성에 사용되는 기호들이다.

문자 날짜 및 시간 요소  표시 예제
G Era designator Text AD
y Year Year 1996; 96
Y Week year Year 2009; 09
M Month in year (context sensitive) Month July; Jul; 07
L Month in year (standalone form) Month July; Jul; 07
w Week in year Number 27
W Week in month Number 2
D Day in year Number 189
d Day in month Number 10
F Day of week in month Number 2
E Day name in week Text Tuesday; Tue
u Day number of week (1 = Monday, ..., 7 = Sunday) Number 1
a Am/pm marker Text PM
H Hour in day (0-23) Number 0
k Hour in day (1-24) Number 24
K Hour in am/pm (0-11) Number 0
h Hour in am/pm (1-12) Number 12
m Minute in hour Number 30
s Second in minute Number 55
S Millisecond Number 978
z Time zone General time zone Pacific Standard Time; PST; GMT-08:00
Z Time zone RFC 822 time zone -0800
X Time zone ISO 8601 time zone -08; -0800; -08:00

예제 패턴

날짜 및 시간 패턴 결과
"yyyy.MM.dd G 'at' HH:mm:ss z" 2001.07.04 AD at 12:08:56 PDT
"EEE, MMM d, ''yy" Wed, Jul 4, '01
"h:mm a" 12:08 PM
"hh 'o''clock' a, zzzz" 12 o'clock PM, Pacific Daylight Time
"K:mm a, z" 0:08 PM, PDT
"yyyyy.MMMMM.dd GGG hh:mm aaa" 02001.July.04 AD 12:08 PM
"EEE, d MMM yyyy HH:mm:ss Z" Wed, 4 Jul 2001 12:08:56 -0700
"yyMMddHHmmssZ" 010704120856-0700
"yyyy-MM-dd'T'HH:mm:ss.SSSZ" 2001-07-04T12:08:56.235-0700
"yyyy-MM-dd'T'HH:mm:ss.SSSXXX" 2001-07-04T12:08:56.235-07:00
"YYYY-'W'ww-u" 2001-W27-3

참고 사이트

SimpleDateFormat (Java Platform SE 8 )

Parses text from a string to produce a Date. The method attempts to parse text starting at the index given by pos. If parsing succeeds, then the index of pos is updated to the index after the last character used (parsing does not necessarily use all charac

docs.oracle.com

Toplist

최신 우편물

태그