2016-12-01 2 views
0

J'essaie d'obtenir la date du jour moins 5 jours. Il semble assez simple, mais en utilisant:Joda LocalDateTime: comment obtenir une date antérieure à

LocalDateTime.now.minusDays(5) 

Je reçois ce mois-ci moins 5 jours - 2016//26 - au lieu de la date d'aujourd'hui moins 5 jours - 2016//26.

Je devine que si LocalDateTime.now.getDayOfMonth est inférieur à 5 que je pourrais utiliser

LocalDateTime.now.minusDays(5).minusMonths(1) 

mais cela signifie que je vais devoir vérifier chaque fois que de savoir si je devais soustraire un mois ou même une année! Y a-t-il un autre moyen?

Merci!

+1

Impossible de reproduire. 'LocalDateTime.now(). MinusDays (5)' cède pour moi: "2016-11-26T13: 29: 07.135" S'il vous plaît également regarder les parenthèses derrière le nom de la méthode "maintenant". –

Répondre

0

Comme alternative, vous pouvez utiliser la classe Période:

Period period = new Period(0, 0, 0, 5, 0, 0, 0, 0); 
LocalDateTime end = new LocalDateTime("2016-12-01"); 
LocalDateTime start = end.minus(period);