¿Cómo puedo obtener el próximo viernes con la API Joda-Time.Hora: ¿Cómo llegar el próximo viernes?
El LocalDate
de hoy en día es today
. Me parece que debes decidir dónde estás antes o después del viernes de la semana actual. Consulte este método:
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);
}
}
¿Es posible hacerlo más corto o con un oneliner?
PD: Por favor, no me aconseja el uso de JDK fecha de material/hora. Joda-Time es una API mucho mejor.
Java 8 introduce java.time paquete (Tutorial) que es incluso mejor.
buena pregunta ... 'DateTime' podría utilizar un' rollForwardTo (...) 'método – skaffman
@skaffman Ver mi ROLLFORWARD genérica responder. No es super probado pero parece funcionar para mí. –
En realidad, java.time * no * es necesariamente mejor que [Joda-Time] (http://www.joda.org/joda-time/). Cada uno tiene características que el otro no tiene. Por ejemplo, java.time no tiene la clase ['Interval'] (http://www.joda.org/joda-time/apidocs/org/joda/time/Interval.html) que se encuentra en Joda-Time. Entonces use cada uno de sus puntos fuertes. Puede mezclar y combinar dentro de un proyecto. Solo tenga cuidado con sus declaraciones 'import' ya que algunas de sus clases comparten el mismo nombre. –