Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    confronto tra date di due classi diverse

    ciao ragazzi sto progettando un software per il noleggio delle auto e mi sono trovata davanti ad un problema.
    Praticamente l'auto che dovrà essere noleggiata dovrà risultare disponibile o meno.
    La classe auto ha una data di ritiro ed una di rilascio
    ed anche la classe contratto avrà una data di ritiro ed una di rilascio dell'auto.
    Praticamente quando andiamo a fare un contratto insieriamo la data in cui vogliamo ritirare l'auto e rilasciare l'auto e a seconda di queste date dobbiamo vedere se una determinata auto e disponibile o meno. Come faccio? sono in crisi

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2014
    residenza
    Padova
    Messaggi
    361
    Detto così il problema non è chiaro per niente, le date confrontate devono essere uguali/minori/maggiori?

    Poniamo ad esempio che io voglia ritirare l' auto x con data di ritiro d1 e data di rilascio d2.
    Poniamo che nel contratto che faccio richiedendo l'auto x io specifico una data di ritiro D1 e data di rilascio D2.

    Come vuoi che siano le date?

    Ad esempio D1>=d1 perchè prima l'auto non è disponibile e D2<=d2 perchè entro d2 la macchina può servire a qualcun altro?

    E poi in che formato sono le date (ad esempio nel formato americano si confrontano carattere per carettere in ordine alfabetico) ?

    Spiegati meglio,sarà più facile darti una mano

  3. #3
    Quote Originariamente inviata da Ansharja Visualizza il messaggio

    Spiegati meglio,sarà più facile darti una mano

    si scusami hai pienamente ragione

    allora io quando stipulo il contratto ho la data di INIZIO noleggio DataI e di fine noleggio DataF.
    Tutte le auto hanno un periodo in cui sono già noleggiate da qualcun'altro ed anche loro quindi hanno una data di inizio noleggio DataIAuto e di fine noleggio DataFAuto(cioè il periodo in cui sono già prenotate ed in cui non sono disponibili).

    DataI deve essere MAGGIORE di DataFAuto e minore di DataIAuto (DataFAuto<DataI<DataIAuto)
    DataF deve essere MINORE di DataIAuto e magggiore di DataI(DataI<DataF<DataIAuto)

    Se queste condizioni sono rispettate devo avere in output la scritta DISPONIBILE o il pallino verde
    altrimenti mi darà solamente non disponibile.

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2014
    residenza
    Padova
    Messaggi
    361
    Quote Originariamente inviata da francabbestia Visualizza il messaggio
    DataI deve essere MAGGIORE di DataFAuto e minore di DataIAuto (DataFAuto<DataI<DataIAuto)
    DataF deve essere MINORE di DataIAuto e magggiore di DataI(DataI<DataF<DataIAuto)
    Ok questa cosa è chiarita, ma se il problema rimane confrontare quelle date, non hai ancora risposto all'altra mia domanda ovvero:
    in che formato (e di che tipo più in generale) sono le date?

    Ripeto se le date sono String il confronto dipende dal formato con cui sono salvate: ad esempio se sono nel formato americano ("yyyy-mm-dd") per confrontarle basta usare il metodo compareTo() di String, dato che il confronto coincide con l'ordine lessico-grafico.
    Se le date sono oggetti di tipo Date esiste anche per quella classe il metodo compareTo, ma potrebbero essere istanze di Calendar,SimpleDateFormat e altro ancora...

    Comunque basta cercare su google "confronto date in java" per trovare già tanti esempi, quindi se il problema è solo questo dovresti riuscire a risolverlo.

  5. #5
    Quote Originariamente inviata da Ansharja Visualizza il messaggio
    Ok questa cosa è chiarita, ma se il problema rimane confrontare quelle date, non hai ancora risposto all'altra mia domanda ovvero:
    in che formato (e di che tipo più in generale) sono le date?
    sono oggetti di tipo Date

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2014
    residenza
    Padova
    Messaggi
    361
    Quote Originariamente inviata da francabbestia Visualizza il messaggio
    sono oggetti di tipo Date
    E allora controlla la documentazione qui : http://docs.oracle.com/javase/7/docs...util/Date.html

    La classe Date ha i metodi after(Date when) e before(Date when) che restituiscono un valore boolean che ti dice se una data e' successiva (o precedente con il before) a un'altra data, basta fare un controllo e vedere se le condizioni sono rispettate...

  7. #7
    Quote Originariamente inviata da Ansharja Visualizza il messaggio
    E allora controlla la documentazione qui : http://docs.oracle.com/javase/7/docs...util/Date.html

    La classe Date ha i metodi after(Date when) e before(Date when) che restituiscono un valore boolean che ti dice se una data e' successiva (o precedente con il before) a un'altra data, basta fare un controllo e vedere se le condizioni sono rispettate...

    ok grazie mille

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.