Comment puis-je obtenir le vendredi suivant avec l'API Joda-Time.Heure: Comment obtenir le vendredi suivant?
Le LocalDate
d'aujourd'hui est today
. Il me semble que vous devez décider où vous êtes avant ou après le vendredi de la semaine en cours. Voir cette méthode:
private LocalDate calcNextFriday(LocalDate d) {
LocalDate friday = d.dayOfWeek().setCopy(5);
if (d.isBefore(friday)) {
return d.dayOfWeek().setCopy(5);
} else {
return d.plusWeeks(1).dayOfWeek().setCopy(5);
}
}
Est-il possible de le faire plus court ou avec un oneliner? PS: S'il vous plaît ne me conseille pas d'utiliser des trucs JDKs date/heure. Joda-Time est une API bien meilleure. Java 8 présente le package java.time (Tutorial), ce qui est encore mieux.
bonne question ... 'DateTime' pourrait utiliser un' rollForwardTo (...) 'méthode – skaffman
@skaffman Voir mon ROLLFORWARD générique répondre. Ce n'est pas super duper testé mais semble fonctionner pour moi. –
En fait, java.time n'est * pas * forcément meilleur que [Joda-Time] (http://www.joda.org/joda-time/). Chacun a des caractéristiques l'autre manque. Par exemple, java.time n'a pas la classe ['Interval'] (http://www.joda.org/joda-time/apidocs/org/joda/time/Interval.html) trouvée dans Joda-Time. Alors utilisez chacun pour ses points forts. Vous pouvez mélanger et faire correspondre dans un projet. Soyez prudent avec vos instructions 'import' car quelques unes de leurs classes partagent le même nom. –