7
votes

Vérification si une date existe ou non en Java

Y a-t-il une classe prédéfinie dans Java de telle sorte que si je le transmettais une date, il devrait revenir s'il s'agit d'une date valide ou non? Par exemple, si je le traverse le 31 février d'une année, il devrait revenir faux, et si la date existe, cela devrait me renvoyer true, pour une date de toute année.

Et je veux aussi une méthode qui me dirait quel est la semaine de la semaine. J'ai traversé la classe des calendriers mais je n'ai pas compris comment faire ça.


2 commentaires

Si vous essayez de créer un objet de date qui n'existe pas, il lancera probablement une exception. Pas sûr cependant, jamais utilisé les dates de Java.


@ ST0LE - Quoi? Êtes-vous pas sûr aussi? :-)


3 Réponses :


-1
votes

Vous pouvez utiliser cela pour obtenir la semaine de la date de la date

    Calendar currentDate = Calendar.getInstance(); //or your specified date.
    int weekDay = currentDate.get(Calendar.DAY_OF_WEEK);


0 commentaires

7
votes

La clé consiste à appeler dateformat # islenient ( false ) afin de ne pas rouler des valeurs hors de portée lors de l'analyse: xxx

bien sûr, vous peut utiliser n'importe quel format de date réel que vous avez besoin.


0 commentaires

17
votes

Comment valider une date dans Java

private static boolean isValidDate(String input) {
        String formatString = "MM/dd/yyyy";

        try {
            SimpleDateFormat format = new SimpleDateFormat(formatString);
            format.setLenient(false);
            format.parse(input);
        } catch (ParseException e) {
            return false;
        } catch (IllegalArgumentException e) {
            return false;
        }

        return true;
    }

public static void main(String[] args){
        System.out.println(isValidDate("45/23/234")); // false
        System.out.println(isValidDate("12/12/2111")); // true
    }


3 commentaires

Je vous en prie. Regardez sur SimpleDateFormat télécharger.oracle.com /javase/1.4.2/docs/api/java/text/... . Vous pouvez modifier la mise en pageString à vos besoins pendant une semaine, pendant une heure, même pour une minute :)


@sasidhar Je vous recommande vraiment de jeter un coup d'œil à Joda Time. Ce sera l'API de date standard à partir de JDK7 mais vous pouvez l'utiliser maintenant. Il a toutes sortes de jolies méthodes, une étant getdatofeek.


Son retour que le 31 février existe ............ Il s'agit simplement de vérifier si la date est inférieure à 31 et mois est inférieure à 12 et année est valable ... c'est tout .... Mais ce n'est pas la fonctionnalité que je veux .... :( S'il vous plaît aider ....