Comment formater LocalDate en chaîne?

J’ai une variable LocalDate appelée date, quand j’imprime, elle affiche 1988-05-05 Je dois convertir ceci pour être imprimé comme 05.Mai 1988.Comment faire ceci?

SimpleDateFormat ne fonctionnera pas s’il commence avec LocalDate qui est nouveau dans Java 8. D’après ce que je peux voir, vous devrez utiliser DateTimeFormatter, http://docs.oracle.com/javase/8/docs/api/java/ time / format / DateTimeFormatter.html .

 LocalDate localDate = LocalDate.now();//For reference DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd LLLL yyyy"); Ssortingng formattedSsortingng = localDate.format(formatter); 

Cela devrait imprimer le 5 mai 1988. Pour avoir la période après le jour et avant le mois, vous devrez peut-être utiliser “dd’.LLLL yyyy”

System.out.println (LocalDate.now (). Format (DateTimeFormatter.ofPattern (“dd.MMMM aaaa”)));

La réponse ci-dessus le montre pour aujourd’hui

Avec l’aide des messages de ProgrammersBlock, je suis arrivé avec ça. Mes besoins étaient légèrement différents. Je devais prendre une chaîne et la retourner en tant qu’object LocalDate. J’ai reçu le code qui utilisait l’ancien Calendrier et SimpleDateFormat. Je voulais le rendre un peu plus actuel. C’est ce que j’ai trouvé.

  import java.time.LocalDate; import java.time.format.DateTimeFormatter; void ExampleFormatDate() { LocalDate formattedDate = null; //Declare LocalDate variable to receive the formatted date. DateTimeFormatter dateTimeFormatter; //Declare date formatter Ssortingng rawDate = "2000-01-01"; //Test ssortingng that holds a date to format and parse. dateTimeFormatter = DateTimeFormatter.ISO_LOCAL_DATE; //formattedDate.parse(Ssortingng ssortingng) wraps the Ssortingng.format(Ssortingng ssortingng, DateTimeFormatter format) method. //First, the rawDate ssortingng is formatted according to DateTimeFormatter. Second, that formatted ssortingng is parsed into //the LocalDate formattedDate object. formattedDate = formattedDate.parse(Ssortingng.format(rawDate, dateTimeFormatter)); } 

J’espère que cela aidera quelqu’un, si quelqu’un voit une meilleure façon de faire cette tâche s’il vous plaît append votre consortingbution.

 LocalDate date = LocalDate.now();//For reference System.out.println(DateTimeFormat.longDate().print(date)); System.out.println(date.toSsortingng("dd.MMMM YYYY")); 

Attention, la langue du mois dépend de la localisation ou de quelque chose.

voir plus

Une bonne façon de faire est d’utiliser SimpleDateFormat Je vais vous montrer comment:

 SimpleDateFormat sdf = new SimpleDateFormat("d MMMM YYYY"); Date d = new Date(); sdf.format(d); 

Je vois que vous avez la date dans une variable:

 sdf.format(variable_name); 

À votre santé.