자바 변경 날짜 형식
날짜 형식으로 날짜 문자열을 변환하는 데 사용할 수있는 다양한 옵션이 있습니다. 다음은 원하는 결과를 얻을 수있는 방법입니다. 아래 코드 블록에서 다양한 방법을 이해합시다.
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Locale;
public class StringToDateFormat {
public static void main(String[] args) throws ParseException {
System.out.print("Way1: ");
SimpleDateFormat dt = new SimpleDateFormat("yyyyy-MM-dd");
System.out.print(dt.parse("2021-11-05") + "\n");
System.out.print("Way2: ");
SimpleDateFormat formatter = new SimpleDateFormat("dd/MMM/yyyy HH:mm:ss", Locale.ENGLISH);
System.out.print(formatter.parse("21/JAN/2021 21:35:56") + "\n");
System.out.print("Way3: ");
DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("EEE, d MMM yyyy", Locale.ENGLISH);
System.out.print(LocalDate.parse("Wed, 5 May 2021", formatter1) + "\n");
System.out.print("Way4: ");
System.out.print(LocalDate.parse("2021-05-31") + "\n");
}
}
Way1
에서SimpleDateFormat
클래스의 인스턴스가 생성됩니다. 날짜 문자열이 입력되는 형식의pattern
값을 사용합니다. 따라서 이러한 방식으로yyyy-MM-dd
형식으로 날짜를 입력했습니다. 또한 인스턴스화는 매개 변수가 널이거나 잘못된 경우NullPointerException
및IllegalArgumentException
과 같은 일부 예외를 처리합니다. 이제 최근에 생성 된formatter
개체를 사용하여parse
메서드를 초기화합니다. 이 메서드는 날짜 문자열을 입력 값으로 사용하고 구문 분석 후Date
데이터 유형을 반환합니다. 주어진 날짜 문자열과 포맷터가 일치하지 않거나 내부적으로 날짜 문자열이 구문 분석되지 않으면ParseException
이 발생합니다.
Way2
에서 다시SimpleDateFormat
클래스는 입력해야하는 형식을 작성하는 데 사용됩니다. 그러나 이제SimpleDateFormat
의 재정의 된 생성자가 호출됩니다. 첫 번째 매개 변수는Date
문자열의format/pattern
입니다. 다른 하나는 지정된 지리적 지역 또는 지역을 정의하는Locale
입니다. Note:
메소드에서 모든 로케일이 허용되지 않습니다. 이제 mmm 형식으로 한 달이있는dd/MMM/yyyy HH:mm: ss
패턴을 확인합니다. 형식은 mmm 형식에서 월의 속기를 사용할 수 있음을 의미합니다. 또한 형식 문자열에서 시간, 분, 초가 걸릴 수 있습니다.
Way3
에서DateTimeFormat
클래스를 사용하여 날짜-시간 오브젝트를 형식화하고 인쇄합니다. ofPattern
메소드는 원하는 패턴의 포맷터를 준비하는 데 사용됩니다. 이제LocalDate
클래스의 정적 메소드가 호출되어 날짜를 구문 분석합니다. 메소드는 구문 분석 할 텍스트를 사용하는parse
및 입력 날짜 텍스트의 형식을 지정하는DateTimeFormatter
입니다. 이 메서드는LocalDate
인스턴스를 반환하며 null이 아닙니다. 텍스트를 구문 분석 할 수없는 경우DateTimeParseException
이 발생합니다. 형식은 요일 이름을 추가로 사용할 수 있습니다. EEE
약어는 포맷터에서 동일 함을 나타냅니다.
Way4
에서는LocalDate
클래스의 정적 팩토리 메소드 인parse
메소드가 직접 호출됩니다. 이번에는 포맷터 인스턴스 나 패턴이 어떤 식 으로든 정의되지 않습니다. 이제 함수는yyyy-MM-dd
형식의 입력 날짜 문자열을받습니다. 지정된 날짜 문자열은 항상 유효한 날짜를 나타내야하며DateTimeFormatter.ISO_LOCAL_DATE
형식을 사용하여 변환됩니다. 이 메소드는 텍스트를 구문 분석 할 수없는 경우DateTimeParseException
예외를 발생시킵니다.
다음은 날짜 문자열을Date
형식으로 변환하는 코드의 출력입니다.
Way1: Fri Nov 05 00:00:00 IST 2021
Way2: Thu Jan 21 21:35:56 IST 2021
Way3: 2021-05-05
Way4: 2021-05-31
Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.
LinkedIn