Walidacja daty

0

Hej :)jakbyście zrobili walidacje daty zameldowania i wymeldowania z hotelu? lepiej używać LocalDate czy LocalDateTime? Macie może pomysł jak można to zaimplementować?chodzi mi głównie o to żeby sprawdzało czy data zameldowania nie jest wieksza od wymeldowania czy data zameldowania nie jest równa dacie zameldowania itp przypadki trzeba rozpatrzyć wszystkie możliwe opcje....

1

Jest różnica między LocalDate a LocalDateTime, potrzebujesz godziny wymeldowania? To użyj LocalDateTime, jak chcesz samą datę to lepszy może się okazać LocalDate. Co do metod, w nowych klasach związanych z czasem masz metody isAfter() etc. Jak dla mnie powinieneś sobie dokumentacje do tych klas wygooglować i wszystko będzie jasne.

1

"czy data zameldowania nie jest wieksza od wymeldowania czy data zameldowania nie jest równa dacie zameldowania" - a co z pokojami na godzinę, albo w przypadku gdy ktoś musi już po zameldowaniu pilnie wyjechać?

0

Ja bym coś w ten sposób podszedł do tego

  1. Podczas wynajęcia pokoju tworzy obiekt date oraz expiresIn. Jak date > expiresIn to znaczy, że czas minął.

date = new Date()
expiresIn = LocalDate.now().plusWeeks(2); // albo dni; i można w wywołaniu funkcji podać do kiedy ten termin jest

if date > expiresIn // do something

// masz też np
plusDays(long daysToAdd)
Returns a copy of this LocalDate with the specified number of days added.

https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html#now--
Do wyboru dużo rzeczy :D

0

Tez się zastanawiam nad tym czy nie lepiej byłoby dwie osobne klasy robić Reservation i ReservationDate i oddzielić datę od rezerwacji tam wpisać metody do tej klasy — aaa bb dziś, 21:01

Reservation Date (nie potrzebna nowej klasy, wystarczy LocalCoTamWybierzesz) albo ReservationRange to ZDECYDOWANIE klasa nie tworząca nowej encji biznesowej czy ew JPA.
Czyli mówiąc w konwencji JPA

@Embedded
ReservationRange range;

Pewnie obiekt Reservation być może będzie chciał mieć dwie sztuki: zamówioną i rzeczywiście zrealizowaną 1). Ale to nie zmienia poglądu na encje.

  1. W ewentualnym JPA trzeba o dwie embedded zadbać @Attributes czy jakoś tak
0

@aaa bb: Masz Period i Duration do takich porownan: https://www.baeldung.com/java-period-duration

Poza tym do zapamietania punktu w czasie czemu nie uzyc Instant?

0
aaa bb napisał(a):

Hej :)jakbyście zrobili walidacje daty zameldowania i wymeldowania z hotelu?

Jeśli hotel jest na godziny to LocalDateTime, jeśli godziny ciebie nie interesują to LocalDate. Chociaż w sumie to trzymałbym wszystko w LocalDateTime

Macie może pomysł jak można to zaimplementować?chodzi mi głównie o to żeby sprawdzało czy data zameldowania nie jest wieksza od wymeldowania czy data zameldowania nie jest równa dacie zameldowania itp przypadki trzeba rozpatrzyć wszystkie możliwe opcje....

o_O, ty tak na serio?

https://docs.oracle.com/javase/8/docs/api/java/time/Instant.html#isAfter-java.time.Instant-

    public void test() {
        LocalDateTime start = LocalDateTime.now();
        LocalDateTime end = start.plusDays(1);

        if (end.isAfter(start)) {
            System.out.println("end is after start!");
        }

        if (start.isBefore(end)) {
            System.out.println("start is before end!");
        }
    }
0
aaa bb napisał(a):

Hej :)jakbyście zrobili walidacje daty zameldowania i wymeldowania z hotelu? lepiej używać LocalDate czy LocalDateTime? Macie może pomysł jak można to zaimplementować?chodzi mi głównie o to żeby sprawdzało czy data zameldowania nie jest wieksza od wymeldowania czy data zameldowania nie jest równa dacie zameldowania itp przypadki trzeba rozpatrzyć wszystkie możliwe opcje....

Bierz LocalDateTime, nie rób jakichś gównianych oszczędności na godzinach, żaden realny system tak nie pracuje obecnie, może w 19 wieku dokładność do dnia była wystarczająca. Teraz każdy incydent masz do sekundy zmapowany. Zawsze możesz wyfiltrować poprzez sformatowanie wyświetlania, że sobie np. w jakimśtam miejscu tylko z dokładnością do dnia wyświetlisz. Hint: https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html

M.Nakonieczny napisał(a):

Podłączę się do wątku podpowie ktoś jak zablokować konkretne daty w kalendarzu na wordpress ? Obsługuje to u mnie multidatespickr. Dzięki góry

Masz jakąś javową wersję tego WordPressa? Jeśli powstała to wchodzę w biznes gównostronek od jutra. Co ja mówię, od dzisiaj po 17ej zaczynam.

1 użytkowników online, w tym zalogowanych: 0, gości: 1