Maison  >  Article  >  Java  >  Comment analyser une chaîne au format jj/MM/aaaa en une date en jj/MM/aaaa en Java ?

Comment analyser une chaîne au format jj/MM/aaaa en une date en jj/MM/aaaa en Java ?

WBOY
WBOYavant
2023-08-29 19:13:061547parcourir

Le package

Comment analyser une chaîne au format jj/MM/aaaa en une date en jj/MM/aaaa en Java ?

java.text fournit une classe appelée SimpleDateFormat pour formater et analyser les dates de la manière souhaitée (nativement).

L'un des constructeurs de cette classe accepte une valeur de chaîne représentant le format de date souhaité et un constructeur Objet SimpleDateFormat.

La méthode format() de cette classe accepte un objet java.util.Date et renvoie une chaîne date/heure au format représenté par l'objet actuel.

Alors, analysez la chaîne de date dans un autre format de date -

  • Obtenez la chaîne de date d'entrée.

  • Convertissez-le en un objet java.util.Date.

    >
  • Instanciez la classe SimpleDateFormat en passant le (nouveau) format souhaité sous forme de chaîne à son constructeur.

  • Appelez la méthode format() en passant l'objet Date obtenu ci-dessus en paramètre.

Exemple

Démonstration en direct

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;
      }
   }
}

Sortie

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer