Dites une date de fin de mois est la date d'un mois qui est la dernière journée de fin de semaine et non de vacances dans ce mois-ci. Comment trouver la dernière date de fin du mois dernier avec Joda Time? Par exemple, la réponse pour aujourd'hui serait le vendredi 28 mai, car celle-ci était la fin du mois de mai et peut être le mois le plus récent pour la fin. P>
3 Réponses :
DateTime.dayofmonth.getMaximumImValue () donne le dernier jour du mois. Obtenez le jour de la semaine de cette journée pour vérifier si c'est le week-end. P>
En règle générale:
ou peut-être qu'il est: p>
Ce n'est pas le plus efficace, mais il est bon marché de mettre en cache la valeur une fois que vous le calculez, car il sera valide pendant un mois entier. Vous pouvez facilement calculer des dates de fin de mois «tous» et le stocker dans une table de recherche également. Vous voulez certainement calculer lorsque le prochain sera, car c'est lorsque la valeur mise en cache actuelle expire expire. P>
Voici un extrait que je suis rapidement concocté: P> aujourd'hui ( 2010-06-14 12: 04: 57z code>), cette impression
"2010-05-26T12: 00: 42.702Z" << / code>. Notez que
isweekendorlidemeid code> est juste un talon pour une implémentation réelle. J'imagine que le vrai test sera plutôt compliqué (la partie vacances), et peut valoir une question à elle seule. P> p>
Basé sur votre question et vos commentaires, vous essayez de résoudre un problème comme celui-ci:
Voici une implémentation avec la bibliothèque de planification financière Lamma ( http://lamma.io ). La méthode Si vous voulez vraiment faire de l'implémentation dans Joda, vous devez fondamentalement mettre en œuvre la date.pastMonthend () et date.backwardward (calendrier) par vous-même. p> date.backward (calendrier) code> est utilisée pour trouver le jour ouvrable le plus récent. P>
Et si aujourd'hui est déjà le 28 mai? Voulez-vous revenir aujourd'hui ou toujours ceci depuis le mois dernier?
@Ballusc dans ce cas, je voudrais le mois d'avril.
@PolygenLubants alors je voudrais 28 mai
duplicaté possible de obtenir La semaine de début et de fin de la semaine donnée une date et une semaine de début de la semaine et Ce et Ce et Ce et Ce .