Oui, mais il n'est pas aussi jolie que cela pourrait être:
import org.joda.time.*;
import org.joda.time.chrono.*;
import org.joda.time.field.*;
public class Test {
public static void main(String[] args) {
GregorianChronology calendar = GregorianChronology.getInstance();
DateTimeField field = calendar.dayOfMonth();
for (int i = 1; i < 12; i++) {
LocalDate date = new LocalDate(2010, i, 1, calendar);
System.out.println(field.getMaximumValue(date));
}
}
}
Notez que j'ai codé en dur l'hypothèse qu'il y a 12 mois, et qui nous intéresse en 2010. J'ai explicitement sélectionné le Grégorien chronologie cependant, dans d'autres chronologies, vous obtiendrez des réponses différentes, bien sûr. (Et le "12 mois" de la boucle ne serait pas une hypothèse valable, soit...)
Je suis allé pour un LocalDate
plutôt qu'un DateTime
afin d'aller chercher la valeur, à mettre en valeur (mais faiblement :) que la valeur ne dépend pas de la zone de temps.
Ce n'est pas aussi simple qu'il y paraît, vous l'esprit. Je ne sais pas en main ce qui se passe si l'utilisation d'une chronologie pour construire l' LocalDate
, mais de solliciter le maximum de la valeur d'un champ dans une autre chronologie. J'ai quelques idées sur ce qui pourrait arriver, la connaissance d'un certain montant d'environ Joda Temps, mais ce n'est probablement pas une bonne idée :)