Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    483

    [JAVA/JSP] confronto date

    Ciao amici,
    ho un grande problema, non riesco a fare un confronto tra 2 date.
    In pratica ho una stringa di questo tipo:
    String data = "23/10/2005";

    Dovrei fare il confronto di questa stringa con la data di oggi.

    Potere aiutarmi?
    Grazie mille.

  2. #2
    Hai proprio una stringa o una data che converti in stringa?

    Comunque, se vogliamo risolvere il problema specifico che hai segnalato eccoti il codice:

    codice:
    // Genero data partendo da una stringa che rispetti il pattern 
    // gg/mm/aaaa
    java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("dd/MM/yyyy");
    java.util.Date daConfrontare = sdf.parse("23/10/2005");
    
    // Catturo la data di oggi
    java.util.Date oggi = java.util.GregorianCalendar.getInstance().getTime();
    
    // Faccio confronto
    if(oggi.compareTo(daConfrontare)<0) {
        System.out.println("oggi č prima di daConfrontare");
    } else if(oggi.compareTo(daConfrontare)>0) {
        System.out.println("oggi č dopo di daConfrontare");
    } else if(oggi.compareTo(daConfrontare) == 0) {
        System.out.println("oggi č uguale a daConfrontare");
    }
    Considera che daConfrontare ha come orario 00:00, quindi se adesso fosse 23/10/2005 12:00, risulterebbe che "oggi č dopo di daConfrontare"

    Ciao

  3. #3
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    ottimizzandolo
    codice:
        String data = "23/10/2005";
        SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
        try {
          Date toCompare = sdf.parse(data);
          Date today = new Date();
          int compare = toCompare.compareTo(today);
          if (compare < 0)
            System.out.println("prima");
          else if (compare > 0)
            System.out.println("dopo");
          else
            System.out.println("uguali");
        }
        catch (ParseException pex) {
        }

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    483
    ciao amici,
    č proprio quello che mi serviva.
    Grazie mille.

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    483
    ciao amici,
    in veritā eseguendo lo script mi sono accorto che non č quello che mi serviva.
    A me serve che mi esce la differenza dei giorni. Esempio

    data vecchia = 23/10/2005;
    data oggi = 30/10/2005;

    oggi - vecchia = 7

    Potete aiutarmi?

    GRazie.

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    483
    ho risolto ecco:

    long sax = (today.getDate() - toCompare.getDate());


  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    483
    ragazzi sto impazzendo.
    Purtroppo lo sscript mi funaziona soltnato per i giorni.
    A me serve fare la differenza anche dei mesi ed anni esempio:

    30/10/2005 - 30/10/2004 = 365;

    GRazei mille a tutti

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    483
    ecco amici ci sono riuscito:

    long sax = ((today.getTime() - toCompare.getTime())/60/60/24/1000);

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.