Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

java에서 dd/MM/yyyy에서 dd/MM/yyyy 형식으로 문자열의 날짜를 구문 분석하는 방법은 무엇입니까?

<시간/>

java.text 패키지는 SimpleDateFormat이라는 클래스를 제공합니다. 필요한 방식(로컬)으로 날짜 형식을 지정하고 구문 분석하는 데 사용됩니다.

이 클래스의 생성자 중 하나는 원하는 날짜 형식을 나타내는 문자열 값과 SimpleDateFormat 개체 생성자를 허용합니다. .

형식() 이 클래스의 메소드는 java.util.Date를 허용합니다. 객체를 생성하고 현재 객체가 나타내는 형식으로 날짜/시간 문자열을 반환합니다.

따라서 날짜 문자열을 다른 날짜 형식으로 구문 분석하려면 -

  • 입력 날짜 문자열을 가져옵니다.

  • java.util.Date 객체로 변환합니다.

  • 원하는(새) 형식을 생성자에 문자열로 전달하여 SimpleDateFormat 클래스를 인스턴스화합니다.

  • 위에서 얻은 Date 객체를 매개변수로 전달하여 format() 메서드를 호출합니다.

예시

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class FormattingDate {
   public static Date StringToDate(String dob) throws ParseException {
      //Instantiating the SimpleDateFormat class
      SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");
      //Parsing the given String to Date object
      Date date = formatter.parse(dob);
      System.out.println("Date object value: "+date);
      return date;
   }
   public static void main(String args[]) throws ParseException {
      //Reading name and date of birth from the user
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter your name: ");
      String name = sc.next();
      System.out.println("Enter your date of birth (dd-MM-yyyy): ");
      String dob = sc.next();
      //Converting String to Date
      Date date = FormattingDate.StringToDate(dob);
      System.out.println("Select format: ");
      System.out.println("a: MM-dd-yyyy || b: dd-MM-yyyy || c: yyyy-MM-dd ");
      char ch = sc.next().toCharArray()[0];;
      switch (ch) {
         case 'a':
            System.out.println("Date in the format: MM-dd-yyyy");
            System.out.println(new SimpleDateFormat("MM-dd-yyyy").format(date));
            break;
         case 'b':
            System.out.println("Date in in the format: dd-MM-yyyy");
            System.out.println(new SimpleDateFormat("dd-MM-yyyy").format(date));
            break;
         case 'c':
            System.out.println("Date in the format: yyyy-MM-dd");
            System.out.println(new SimpleDateFormat("yyyy-MM-dd").format(date));
            break;
         default:
            System.out.println("Model not found");
            break;
      }
   }
}

출력

Enter your name:
Krishna
Enter your date of birth (dd-MM-yyyy):
26-09-1989
Date object value: Tue Sep 26 00:00:00 IST 1989
Select format:
a: MM-dd-yyyy || b: dd-MM-yyyy || c: yyyy-MM-dd
a
Date in the format: MM-dd-yyyy
09-26-1989