Chcę utworzyć interwał między początkiem tygodnia a końcem bieżącego tygodnia.Jodobime początek dnia i koniec dnia
Mam następujący kod, pożyczone od this answer:
private LocalDateTime calcNextSunday(LocalDateTime d) {
if (d.getDayOfWeek() > DateTimeConstants.SUNDAY) {
d = d.plusWeeks(1);
}
return d.withDayOfWeek(DateTimeConstants.SUNDAY);
}
private LocalDateTime calcPreviousMonday(LocalDateTime d) {
if (d.getDayOfWeek() < DateTimeConstants.MONDAY) {
d = d.minusWeeks(1);
}
return d.withDayOfWeek(DateTimeConstants.MONDAY);
}
Ale teraz chcę Poniedziałek LocalDateTime
być na 00:00:00 i niedziela LocalDateTime
godzinie 23:59:59. Jak to zrobić?
'setXxx' umownie ma typ zwracany w Javie, więc nie pozwoliłby łańcuchowym. To tutaj przypomina wzór konstruktora (który pierwotnie nie działałby na istniejącym obiekcie). –
Rzeczywiście. Dzięki temu możesz połączyć wszystkie połączenia, zamiast mieć je wszystkie w różnych liniach i uzyskać wszystkie korzyści z niezmiennych obiektów. –
Myślę, że "wzór" nazywa się "Fluent interface" http://martinfowler.com/bliki/FluentInterface.html - daje wiele korzyści w czytelności i jasności w mojej opinii. –