Comment convertir la date au format jj/MM/aaaa au format ccyy/MM/jj en java? [dupliquer]


Cette question a déjà une réponse ici:

Je suis confronté à un problème lors de la conversion de la date au format jj/MM/aaaa en ccyy/MM/jj en utilisant Java. Quelqu'un peut-il, veuillez m'aider sur ce point? Ce serait génial Si je reçois des exemple.

Voici mon code## Exemple##

        SimpleDateFormat dateFormat1 = new SimpleDateFormat("ddMMyyyy");
        Date date1 = new Date();        
        LocalDate date = DateTimeFormat.forPattern("ddMMyyyy").parseLocalDate(dateFormat1.format(date1));
        System.out.println("Century=" + date.getCenturyOfEra()); 
        String usFormat = DateTimeFormat.forPattern("ccyy/MM/dd").print(date);
        System.out.println(usFormat); 

Merci d'avance.

Author: Oghli, 2018-08-02

2 answers

Fait Ssaammjj format est le même que aaaammjj depuis CC (siècle) est l'année entière diviser par 100) selon ISO 8601, vous pouvez en lire plus à ce post -

Convertir dd/MM/yyyy date en ccyy/MM/dd date est simple

, Vous pouvez essayer cette approche:

    // define date source format 
    SimpleDateFormat sourceformat = new SimpleDateFormat("dd/MM/yyyy");
   // define date target format that you want to convert to it 
    SimpleDateFormat targetformat = new SimpleDateFormat("yyyy/MM/dd");
  // parse the input date as string with source format 
  // and then format it to the required target format 
    String dateAsString = "02/08/2018";
    Date date = sourceformat.parse(dateAsString);
    System.out.println(targetformat.format(date));

Sortie:

2018/08/02
 0
Author: Oghli, 2018-08-02 11:03:59

Voici la solution pour cela

     Date date = new Date();
    SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
    String currentDate = dateFormat.format(date); 
    System.out.println("currentData::"+currentDate);
     DateTime dt = new DateTime(dateFormat.parse(currentDate));
     System.out.println("DT::"+dt);
     DateTimeFormatter fmt = DateTimeFormat.forPattern("CCYY/MM/DD");
     String str = fmt.print(dt);
     System.out.println("CC Date::"+str);
 -1
Author: Venkateswarlu Ala, 2018-08-02 09:21:29