Date valide

Résolu
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 - 4 oct. 2006 à 23:54
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 - 5 oct. 2006 à 00:20
Salut Tous :

Je suis en train de manipuler les dates dans mon programme. Existe il dans le SDK un moyen pour vérifier la validité d'une date donnée? Sinon je dois créer ma propre solution avec tous les tests envisageables ce qui est trop lourd.

Je m'exprime :

1. Le mois doit être compris dans [1..12]

2. Je veux vérifier qu' un jour est compris dans l'intervalle [1..28] ou [1..29] ou [1..30] ou [1..31] selon le mois qui y correspond.

1 réponse

Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
5 oct. 2006 à 00:20
Salut,

tu peux le faire sur la date complete voici un exemple (seul la méthode isValidDate est utile le reste c'est pour l'exemple)

import java.text.Format;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Test {

    public static void main(String[] args) {
        String pattern = "dd/MM/yyyy";
        String test1 = "28/02/2001";
        String test2 = "31/02/2001";
        String test3 = "29/02/2008";
       
        if (!isValidDate(test1,pattern))
            System.out.println(test1 + " is not valid.");
        else
            System.out.println(test1 + " is valid.");
       
        if (!isValidDate(test2,pattern))
            System.out.println(test2 + " is not valid.");
        else
            System.out.println(test2 + " is valid.");
       
        if (!isValidDate(test3,pattern))
            System.out.println(test3 + " is not valid.");
        else
            System.out.println(test3 + " is valid.");
    }
   
    public static boolean isValidDate(String date, String pattern) {
        try {
            Date simple = new SimpleDateFormat(pattern).parse(date);
            Format format = new SimpleDateFormat(pattern);
             
            if (!date.equals(format.format(simple)))
                return false;

            return true;
        } catch(ParseException e) {
            return false;
        }
    }

}

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
3
Rejoignez-nous