Java에는 날짜 형식을 지정하는 두 가지 클래스가 있습니다: DateFormat 및 SimpleDateFormat.
java.text.DateFormat 클래스는 언어 독립적인 방식으로 Java에서 날짜와 시간의 형식을 지정하고 구문 분석하는 다양한 메소드를 제공합니다. DateFormat 클래스는 추상 클래스입니다. java.text. Format은 상위 클래스이고 java.text.SimpleDateFormat은 java.text.DateFormat 클래스의 하위 클래스입니다.
Java에서는 날짜를 문자열로 변환하는 것을 형식화라고 하며 그 반대의 경우도 마찬가지입니다. 다시 말해서, 형식화는 날짜를 문자열로 변환하는 것을 의미합니다. 그리고 구문 분석은 현재까지의 문자열을 의미합니다. .
java.text.DateFormat 필드
protected Calendar calendar protected NumberFormat numberFormat public static final int ERA_FIELD public static final int YEAR_FIELD public static final int MONTH_FIELD public static final int DATE_FIELD public static final int HOUR_OF_DAY1_FIELD public static final int HOUR_OF_DAY0_FIELD public static final int MINUTE_FIELD public static final int SECOND_FIELD public static final int MILLISECOND_FIELD public static final int DAY_OF_WEEK_FIELD public static final int DAY_OF_YEAR_FIELD public static final int DAY_OF_WEEK_IN_MONTH_FIELD public static final int WEEK_OF_YEAR_FIELD public static final int WEEK_OF_MONTH_FIELD public static final int AM_PM_FIELD public static final int HOUR1_FIELD public static final int HOUR0_FIELD public static final int TIMEZONE_FIELD public static final int FULL public static final int LONG public static final int MEDIUM public static final int SHORT public static final int DEFAULT
java.text.DateFormat 메소드
아니요. | 공개 방법 | 설명 |
---|---|---|
1) | 최종 문자열 형식(날짜 날짜) | 주어진 Date 객체를 문자열로 변환합니다. |
2) | 날짜 구문 분석(문자열 소스)에서 ParseException이 발생합니다. | 문자열을 Date 객체로 변환합니다. |
삼) | 정적 최종 DateFormat getTimeInstance() | 기본 로케일에 대한 기본 서식 스타일을 사용하여 시간 포맷터를 반환합니다. |
4) | 정적 최종 DateFormat getTimeInstance(int 스타일) | 기본 로캘에 대해 지정된 형식 지정 스타일을 사용하여 시간 형식 지정자를 반환합니다. |
5) | 정적 최종 DateFormat getTimeInstance(int 스타일, 로케일 로케일) | 주어진 로케일에 대해 주어진 서식 스타일을 사용하여 시간 포맷터를 반환합니다. |
6) | 정적 최종 DateFormat getDateInstance() | 기본 로케일에 대한 기본 서식 스타일을 사용하여 날짜 포맷터를 반환합니다. |
7) | 정적 최종 DateFormat getDateInstance(int 스타일) | 기본 로케일에 대해 지정된 형식 지정 스타일을 사용하여 날짜 형식 지정자를 반환합니다. |
8) | 정적 최종 DateFormat getDateInstance(int 스타일, 로케일 로케일) | 주어진 로케일에 대해 주어진 서식 스타일을 사용하여 날짜 포맷터를 반환합니다. |
9) | 정적 최종 DateFormat getDateTimeInstance() | 기본 로캘에 대한 기본 서식 스타일을 사용하여 날짜/시간 포맷터를 반환합니다. |
10) | 정적 최종 DateFormat getDateTimeInstance(int dateStyle,int timeStyle) | 기본 로케일에 대해 지정된 날짜 형식화 스타일과 시간 형식화 스타일을 사용하여 날짜/시간 형식기를 반환합니다. |
열하나) | 정적 최종 DateFormat getDateTimeInstance(int dateStyle, int timeStyle, Locale locale) | 주어진 로캘에 대해 주어진 날짜 형식 지정 스타일과 시간 형식 지정 스타일을 사용하여 날짜/시간 형식 지정자를 반환합니다. |
12) | 정적 최종 DateFormat getInstance() | 날짜 및 시간에 대한 짧은 서식 스타일을 사용하여 날짜/시간 포맷터를 반환합니다. |
13) | 정적 Locale[] getAvailableLocales() | 사용 가능한 로케일의 배열을 반환합니다. |
14) | 캘린더 getCalendar() | 이 DateFormat 인스턴스에 대한 Calendar 인스턴스를 반환합니다. |
열 다섯) | NumberFormat getNumberFormat() | 이 DateFormat 인스턴스에 대한 NumberFormat 인스턴스를 반환합니다. |
16) | 시간대 getTimeZone() | 이 DateFormat 인스턴스에 대한 TimeZone 인스턴스를 반환합니다. |
Java DateFormat 예: 날짜를 문자열로
간단한 예를 살펴 보겠습니다. Java에서 날짜 및 시간 형식 지정 java.text.DateFormat 클래스를 사용합니다.
파일 이름: DateFormatExample.java
import java.text.DateFormat; import java.util.Date; public class DateFormatExample { public static void main(String[] args) { Date currentDate = new Date(); System.out.println('Current Date: '+currentDate); String dateToStr = DateFormat.getInstance().format(currentDate); System.out.println('Date Format using getInstance(): '+dateToStr); } }
산출:
Current Date: Tue Mar 31 14:37:23 IST 2015 Date Format using getInstance(): 31/3/15 2:37 PM
전체 예제를 살펴보겠습니다. Java에서 날짜 및 시간 형식 지정 java.text.DateFormat 클래스를 사용합니다.
파일 이름: DateFormatExample2.java
자바의 tostring
import java.text.DateFormat; import java.util.Date; public class DateFormatExample2 { public static void main(String[] args) { Date currentDate = new Date(); System.out.println('Current Date: '+currentDate); String dateToStr = DateFormat.getInstance().format(currentDate); System.out.println('Date Format using getInstance(): '+dateToStr); dateToStr = DateFormat.getDateInstance().format(currentDate); System.out.println('Date Format using getDateInstance(): '+dateToStr); dateToStr = DateFormat.getTimeInstance().format(currentDate); System.out.println('Date Format using getTimeInstance(): '+dateToStr); dateToStr = DateFormat.getDateTimeInstance().format(currentDate); System.out.println('Date Format using getDateTimeInstance(): '+dateToStr); dateToStr = DateFormat.getTimeInstance(DateFormat.SHORT).format(currentDate); System.out.println('Date Format using getTimeInstance(DateFormat.SHORT): '+dateToStr); dateToStr = DateFormat.getTimeInstance(DateFormat.MEDIUM).format(currentDate); System.out.println('Date Format using getTimeInstance(DateFormat.MEDIUM): '+dateToStr); dateToStr = DateFormat.getTimeInstance(DateFormat.LONG).format(currentDate); System.out.println('Date Format using getTimeInstance(DateFormat.LONG): '+dateToStr); dateToStr = DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.SHORT).format(currentDate); System.out.println('Date Format using getDateTimeInstance(DateFormat.LONG,DateFormat.SHORT): '+dateToStr); } }
산출:
Current Date: Tue Mar 31 14:37:23 IST 2015 Date Format using getInstance(): 31/3/15 2:37 PM Date Format using getDateInstance(): 31 Mar, 2015 Date Format using getTimeInstance(): 2:37:23 PM Date Format using getDateTimeInstance(): 31 Mar, 2015 2:37:23 PM Date Format using getTimeInstance(DateFormat.SHORT): 2:37 PM Date Format using getTimeInstance(DateFormat.MEDIUM): 2:37:23 PM Date Format using getTimeInstance(DateFormat.LONG): 2:37:23 PM IST Date Format using getDateTimeInstance(DateFormat.LONG,DateFormat.SHORT): 31 March, 2015 2:37 PM
Java DateFormat 예: 날짜까지의 문자열
간단한 예를 살펴 보겠습니다. 문자열을 날짜로 변환 java.text.DateFormat 클래스를 사용합니다.
파일 이름: DateFormatExample3.java
import java.text.DateFormat; import java.util.Date; public class DateFormatExample3 { public static void main(String[] args)throws Exception { Date d = DateFormat.getDateInstance().parse('31 Mar, 2015'); System.out.println('Date is: '+d); } }
산출:
Date is: Tue Mar 31 00:00:00 IST 2015
Java DateFormat 예: getTimeInstance(int 스타일, 로캘 로캘)
getTimeInstance(int style, Locale locale) 메소드의 작동을 살펴보겠습니다.
파일 이름: GetTimeInstanceExample.java
// important important statements import java.util.Date; import java.util.Locale; import java.text.DateFormat; public class GetTimeInstanceExample { // main method public static void main(String argvs[]) throws Exception { // locale is French here. Locale lcl = Locale.FRENCH; // creating an object of the class Date Date d = new Date(); // getting the instance by invoking the getTimeInstance(int, Locale) method DateFormat dFormat = DateFormat.getTimeInstance(DateFormat.SHORT, lcl); String str = dFormat.format(d); System.out.println(str); } }
산출:
13:12
Java DateFormat 예: getDateInstance(int 스타일)
getDateInstance(int 스타일) 메소드의 작동을 살펴보겠습니다.
파일 이름: GetDateInstanceExample.java
// important important statements import java.util.Date; import java.util.Locale; import java.text.DateFormat; public class GetDateInstanceExample { // main method public static void main(String argvs[]) throws Exception { // creating an object of the class Date Date d = new Date(); // getting the instance by invoking the getDateInstance(int) method // here default locale is used DateFormat dFormat = DateFormat.getDateInstance(DateFormat.SHORT); String str = dFormat.format(d); System.out.println(str); } }
산출:
12/2/21
Java DateFormat 예: getDateInstance(int 스타일, 로캘 로캘)
getDateInstance(int style, Locale locale) 메소드의 작동을 살펴보겠습니다.
파일 이름: GetDateInstanceExample1.java
자바 다른 경우
// important important statements import java.util.Date; import java.util.Locale; import java.text.DateFormat; public class GetDateInstanceExample1 { // main method public static void main(String argvs[]) throws Exception { // locale is French here. Locale lcl = Locale.FRENCH; // creating an object of the class Date Date d = new Date(); // getting the instance by invoking the getDateInstance(int, Locale) method DateFormat dFormat = DateFormat.getDateInstance(DateFormat.SHORT, lcl); String str = dFormat.format(d); System.out.println(str); } }
산출:
02/12/2021
Java DateFormat 예: getDateTimeInstance(int dateStyle, int timeStyle, Locale locale)
getDateTimeInstance(int dateStyle, int timeStyle, Locale locale) 메소드의 작동을 살펴보겠습니다.
자바 쌍
파일 이름: GetDateTimeInstanceExample.java
// important important statements import java.util.Date; import java.util.Locale; import java.text.DateFormat; public class GetDateTimeInstanceExample { // main method public static void main(String argvs[]) throws Exception { // locale is French here. Locale lcl = Locale.FRENCH; // creating an object of the class Date Date d = new Date(); // getting the instance by invoking the getDateTimeInstance(int, int, Locale) method DateFormat dFormat = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.LONG, lcl); String str = dFormat.format(d); System.out.println(str); } }
산출:
02/12/2021 14:16:34 GMT
Java DateFormat 예: getCalender()
getCalender() 메소드의 작동을 살펴보겠습니다.
파일 이름: GetCalenderExample.java
// important import statements import java.util.Date; import java.text.DateFormat; import java.text.*; public class GetCalenderExample { // main method public static void main(String argvs[]) throws Exception { // getting the instance DateFormat dFormat = DateFormat.getDateTimeInstance(); // invoking the method getCalender(); System.out.println(dFormat.getCalendar()); } }
산출:
java.util.GregorianCalendar[time = -886152493222, areFieldsSet = true, areAllFieldsSet = true, lenient = true, zone = sun.util.calendar.ZoneInfo[id = 'GMT', offset=0, dstSavings = 0, useDaylight = false, transitions = 0, lastRule = null], firstDayOfWeek = 1, minimalDaysInFirstWeek = 1,ERA = 1, YEAR = 1941, MONTH = 11, WEEK_OF_YEAR = 49, WEEK_OF_MONTH = 1, DAY_OF_MONTH = 2, DAY_OF_YEAR = 336, DAY_OF_WEEK = 3, DAY_OF_WEEK_IN_MONTH = 1, AM_PM = 1, HOUR = 2, HOUR_OF_DAY = 14, MINUTE = 31, SECOND = 46, MILLISECOND = 778, ZONE_OFFSET = 0, DST_OFFSET = 0]
Java DateFormat 예: getNumberFormat()
getNumberFormat() 메소드의 작동을 살펴보겠습니다.
파일 이름: GetNumberFormatExample.java
// important import statements import java.text.NumberFormat; import java.text.DateFormat; public class DateFormatDemo { // main method public static void main(String[] argvs) { // getting the instance by invoking the getTimeInstance() method DateFormat dFormat = DateFormat.getTimeInstance(DateFormat.SHORT); // invoking the method getNumberFormat() NumberFormat numFormat = dFormat.getNumberFormat(); System.out.println('The format is: ' + numFormat); } }
산출:
The format is: java.text.DecimalFormat@674dc