Come confrontare due date di creazione come JodaTime LocalDate e LocalDateTime?

LocalDate startDate = new LocalDate(2014,1,2);

LocalDateTime startDateTime = new LocalDateTime(2014,1,2,14,0);

Ho bisogno di confrontare startDate e startDateTime rispetto alla data, qualcosa di simile a questo:

//boolean equalDates = startDate.isequal(startDateTime.getDate());

È possibile fare questo?

OriginaleL’autore Klausos Klausos | 2014-03-13

3 Replies
  1. 11

    Se si desidera confrontare la parte di data, si può fare in questo modo:

    LocalDate startDate = new LocalDate(2014, 1, 2);
    LocalDateTime startDateTime = new LocalDateTime(2014, 1, 2, 14, 0);
    LocalDate forCompare = startDateTime.toLocalDate();
    System.out.println("equal dates: " + forCompare.equals(startDate));
    //equal dates: true

    docs

    Tenete a mente che equals() confronta sottostante cronologie e non solo i valori in campo, altrimenti la soluzione è bene. Migliore è solo per uso ISOChronology.
    equals() non funziona.
    si prega di mostrare un po ‘ di codice.
    Vedere il mio codice aggiornato. E sì, l’ho provato utilizzando Joda-Time v2.8.1. Forse hai utilizzato altre librerie con gli stessi nomi di classe ??? Controllare le importazioni.

    OriginaleL’autore Aaron Digulla

  2. 4
    LocalDate startDate = new LocalDate(2014,1,2);
    
    LocalDateTime startDateTime = new LocalDateTime(2014,1,2,00,0);
    
    System.out.println(startDate.toDate());
    System.out.println(startDateTime.toDate());
    
    
    if(startDate.toDate().compareTo((startDateTime.toDate()))==0){
     System.out.println("equal");       
    }

    l’output sarà:

    Gio Gen 02 00:00:00 IST 2014

    Gio Gen 02 00:00:00 IST 2014

    pari

    Klausos. prova questo…..
    Qualsiasi ragionevole attuazione di equals per un caso come questo sarebbe probabilmente fare il confronto di uguaglianza con 0 all’interno di esso.

    OriginaleL’autore Nirmal

Lascia un commento