69 votes

A quoi sert le mot " clément " ?

Ici lenient est utilisé en Java DateFormat . J'ai vérifié la doc, mais je n'ai pas compris ce qu'elle disait.

Quelqu'un peut-il me dire à quoi sert ce lenient , avec un exemple en temps réel où nous l'utilisons ?

25voto

Thomas Jung Points 17692

Par exemple ceci :

 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy");
System.out.println(simpleDateFormat.parse("0"));
simpleDateFormat.setLenient(false);
System.out.println(simpleDateFormat.parse("0"));

résulte en:

 Thu Jan 01 00:00:00 CET 1
Exception in thread "main" java.text.ParseException: Unparseable date: "0"
    at java.text.DateFormat.parse(Unknown Source)
    at net.java.quickcheck.generator.support.X.main(X.java:28)

11voto

Shahzeb Points 1879

Si la date n'est pas clémente, elle générera une erreur si vous dépassez la date limite, mais si ce n'est pas le cas, elle l'acceptera et la corrigera. Par exemple, August 61st du commentaire ci-dessus deviendra le 30 septembre. doc Java sur la façon de le définir. La valeur par défaut est true.

9voto

Xelian Points 1006

La clémence fait référence à l'application ou non d'une règle stricte à l'analyse. Si un objet DateFormat est clément, il acceptera le 32 janvier, 2005. En fait, il prendra la liberté de le convertir au 1er février 2006. Par défaut, un objet DateFormat est clément.

 import java.text.DateFormat;
import java.text.ParseException;
import java.util.Date;

public class MainClass {
  public static void main(String[] args) {
    DateFormat shortDf = DateFormat.getDateInstance(DateFormat.SHORT);

    DateFormat mediumDf = DateFormat.getDateInstance(DateFormat.MEDIUM);
    DateFormat longDf = DateFormat.getDateInstance(DateFormat.LONG);
    DateFormat fullDf = DateFormat.getDateInstance(DateFormat.FULL);
    System.out.println(shortDf.format(new Date()));
    System.out.println(mediumDf.format(new Date()));
    System.out.println(longDf.format(new Date()));
    System.out.println(fullDf.format(new Date()));

    // parsing
    try {
      Date date = shortDf.parse("Jan 32, 2005");
    } catch (ParseException e) {
    }
  }
}

Et le résultat :

 1/26/07
Jan 26, 2007
January 26, 2007
Friday, January 26, 2007

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X