Recuperation de la date precedente une autre

Résolu
Lemaestro77 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -  
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Je suis en train de programmer en java et je recherche une fonction qui va me renvoyer la date precedente dd/MM/yyyy d'une date choisi dans jDateChooser. Merci d'avance

A voir également:

1 réponse

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Bonjour,

Quand tu parles de "la date precedente" tu veux dire la veille (J-1) ou autre chose ?

LocalDate today = LocalDate.now();
System.out.println(today); // 2018-03-15

LocalDate yesterday = today.minusDays(1);
System.out.println(yesterday); // 2018-03-14

1
Lemaestro77 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
Salut. Oui quand je parle de la date précédente c'est la date de la veille. Donc je sélectionne 01/03/2012 et ça ne renvoie 29/02/2012 par exemple
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020 > Lemaestro77 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
Donc le code que je t'ai donné devrait suffire.

System.out.println(LocalDate.of(2012, 3, 1).minusDays(1)); // 2012-02-29
0
Lemaestro77 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
Oui oui. Mais c'est si j entre les dates manuellement. Maintenant la date viens d un jdatechooser sous le format dd-MM-yyyy, comment le faire respecter le format accepté par la fonction là?
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020 > Lemaestro77 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
Avec LocalDate.of(year, month, day) tu as juste à mettre tes paramètres dd, MM et yyyy dans le bon ordre comme je l'ai fait pour
LocalDate.of(2012, 3, 1)
et c'est tout...

Remarques :
 
  • JDateChooser n'est pas un composant standard de Java, c'est un plugin spécifique de NetBeans qui nécessite une dépendance pour faire fonctionner le programme.
  • Swing n'est plus mis à jour depuis Java 8, désormais c'est JavaFX la technologie officielle pour les applications de bureau.
  • En utilisant la classe DatePicker, qui elle est bien standard Java, tu manipulerais directement les objets LocalDate, sans avoir à faire tes conversions de format.

Exemple :

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.DatePicker;
import javafx.stage.Stage;

public class DatePickerApplication extends Application {

    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage stage) {
        DatePicker datePicker = new DatePicker();
        datePicker.setOnAction(e -> System.out.println(datePicker.getValue().minusDays(1)));
        stage.setScene(new Scene(datePicker, 150, 25));
        stage.show();
    }
}
0