The Dark Side of Hardware Upgrade Forum

...bringing out the worst in you since 2003...
Oggi è ven ott 02, 2026 7:31 pm

Tutti gli orari sono UTC +1 ora


-->
-->

Apri un nuovo argomento Rispondi all’argomento  [ 151 messaggi ]  Vai alla pagina 1, 2, 3, 4, 5 ... 7  Prossimo
Autore Messaggio
 Oggetto del messaggio: [JAVA] Richieste di aiuto Java
MessaggioInviato: mer apr 20, 2011 10:02 am 
Lo scemo del forum
Lo scemo del forum
Avatar utente
Iscritto il: ven ago 31, 2007 5:30 pm
Messaggi: 31524
Località: Trezzo sull'Adda (MI)
Allora, sono sotto con la tesi che devo programmare in java...se mi date una mano a risolvere alcuni problemi ve ne sono grato.

Il problema di oggi: devo conteggiare i giorni tra 2 date. Ho trovato questo metodo in rete che concettualmente sembra ok:

Codice:
    public static long daysBetween(Calendar startDate, Calendar endDate) { 
         Calendar date = (Calendar) startDate.clone(); 
         long daysBetween = 0; 
         while (date.before(endDate)) { 
           date.add(Calendar.DAY_OF_MONTH, 1); 
           daysBetween++; 
         } 
         return daysBetween; 
       }


Uso il java.util.calendar

Ecco, perchè i mesi sono tutti di 31 giorni? :wat:

Cioè, mi segna le date corrette se metto dentro due date dello stesso mese o di mesi con 31 gg, ma se metto data iniziale 30 giugno e finale 1 luglio mi da 2 giorni. :wat:
Infatti se metto data iniziale 31 giugno e finale 1 luglio mi da 1 giorno :wat:

che cazzo di calendario è? :wat:
ho provato anche a usare il GregorianCalendar ma non cambia un cazzo...

Dove sbaglio?
_________________
Immagine - Amare la Formattazione è la Soluzione al 90% dei Problemi della Vita
Top
 Profilo Non connesso  
 
 Oggetto del messaggio: Re: [JAVA] Richieste di aiuto Java
MessaggioInviato: mer apr 20, 2011 10:10 am 
Schiavo
Avatar utente
Iscritto il: gio nov 04, 2004 2:21 pm
Messaggi: 3640
Codice:
public class DateDiffernces {
   
   public static void main(String[] args) {
      
      Date from = null;
      try {
         from = new SimpleDateFormat("dd/MM/yyyy").parse("10/11/2007");
      } catch (ParseException e) {
         e.printStackTrace();
      }
      from.getTime();
      Date to = null;
      try {
         to = new SimpleDateFormat("dd/MM/yyyy").parse("10/12/2007");
      } catch (ParseException e) {
         e.printStackTrace();
      }
      long diff = to.getTime()-from.getTime();

        System.out.println(diff / (1000L*60L*60L*24L)+1);
   }
}


...dovrebbe fungere...
_________________
...Hikari ti adoro...è la tazzina che mi rende così Immagine...Gore Business...sono un uomo...ho due emozioni : mangiare e scopare...se non ce l'ho in tiro fammi un toast...
Top
 Profilo Non connesso  
 
 Oggetto del messaggio: Re: [JAVA] Richieste di aiuto Java
MessaggioInviato: mer apr 20, 2011 10:12 am 
Schiavo
Avatar utente
Iscritto il: gio nov 04, 2004 2:21 pm
Messaggi: 3640
...in sinto trasformo le date in long...eseguo la differenza e poi converto i mills in giorni...
_________________
...Hikari ti adoro...è la tazzina che mi rende così Immagine...Gore Business...sono un uomo...ho due emozioni : mangiare e scopare...se non ce l'ho in tiro fammi un toast...
Top
 Profilo Non connesso  
 
 Oggetto del messaggio: Re: [JAVA] Richieste di aiuto Java
MessaggioInviato: mer apr 20, 2011 10:16 am 
Schiavo
Avatar utente
Iscritto il: gio lug 15, 2010 2:28 pm
Messaggi: 2131
public class DateDifferenceExample{

public static void main(String[] args){

//get instance of Calendar objects
Calendar cal1 = Calendar.getInstance();
Calendar cal2 = Calendar.getInstance();

//set two dates we want to know difference of
cal1.set(2006, 12, 30);
cal2.set(2007, 5, 3);

long milis1 = cal1.getTimeInMillis();
long milis2 = cal2.getTimeInMillis();

//difference in milliseconds
long diff = milis2 - milis1;

//difference in seconds
long diffSeconds = diff / 1000;

//difference in minutes
long diffMinutes = diff / (60 * 1000);

//difference in hours
long diffHours = diff / (60 * 60 * 1000);

//difference in days
long diffDays = diff / (24 * 60 * 60 * 1000);

System.out.println("Date difference in milliseconds: " + diff + " milliseconds.");
System.out.println("Date difference in seconds: " + diffSeconds + " seconds.");
System.out.println("Date difference in minutes: " + diffMinutes + " minutes.");
System.out.println("Date difference in hours: " + diffHours + " hours.");
System.out.println("Date difference in days: " + diffDays + " days.");

}
}
_________________
Immagine
Top
 Profilo Non connesso  
 
 Oggetto del messaggio: Re: [JAVA] Richieste di aiuto Java
MessaggioInviato: mer apr 20, 2011 10:21 am 
Lo scemo del forum
Lo scemo del forum
Avatar utente
Iscritto il: ven ago 31, 2007 5:30 pm
Messaggi: 31524
Località: Trezzo sull'Adda (MI)
siamo da capo.

dal 30 giugno al 1 luglio mi da due giorni.

è come se il suo calendario interno ha 31 giorni per ogni mese.
_________________
Immagine - Amare la Formattazione è la Soluzione al 90% dei Problemi della Vita
Top
 Profilo Non connesso  
 
 Oggetto del messaggio: Re: [JAVA] Richieste di aiuto Java
MessaggioInviato: mer apr 20, 2011 10:23 am 
Lo scemo del forum
Lo scemo del forum
Avatar utente
Iscritto il: ven ago 31, 2007 5:30 pm
Messaggi: 31524
Località: Trezzo sull'Adda (MI)
no, quello di harv è cannato, ma usando la formula di ally è ok

Codice:
((1000L*60L*60L*24L)+1)
al denominatore sembra ok

moar testing.

nel frattempo grazie ;)
_________________
Immagine - Amare la Formattazione è la Soluzione al 90% dei Problemi della Vita
Top
 Profilo Non connesso  
 
 Oggetto del messaggio: Re: [JAVA] Richieste di aiuto Java
MessaggioInviato: mer apr 20, 2011 10:24 am 
Schiavo
Avatar utente
Iscritto il: gio nov 04, 2004 2:21 pm
Messaggi: 3640
SuperMario=ITA= ? ha scritto:
siamo da capo.

dal 30 giugno al 1 luglio mi da due giorni.

è come se il suo calendario interno ha 31 giorni per ogni mese.


...segna anche due giorni dal "10/06/2007" al "11/06/2007"...
_________________
...Hikari ti adoro...è la tazzina che mi rende così Immagine...Gore Business...sono un uomo...ho due emozioni : mangiare e scopare...se non ce l'ho in tiro fammi un toast...
Top
 Profilo Non connesso  
 
 Oggetto del messaggio: Re: [JAVA] Richieste di aiuto Java
MessaggioInviato: mer apr 20, 2011 10:25 am 
Schiavo
Avatar utente
Iscritto il: lun lug 19, 2010 6:08 pm
Messaggi: 7370
Località: Smileland (già Crucconia)
edit: ho scritto una cazzata.
_________________
Se nel forum sono attivo vuol dire che al lavoro sto facendo documentazione.


Ultima modifica di trallallero, mer apr 20, 2011 10:47 am, modificato 1 volta.
Top
 Profilo E-mail Non connesso  
 
 Oggetto del messaggio: Re: [JAVA] Richieste di aiuto Java
MessaggioInviato: mer apr 20, 2011 10:25 am 
Lo scemo del forum
Lo scemo del forum
Avatar utente
Iscritto il: ven ago 31, 2007 5:30 pm
Messaggi: 31524
Località: Trezzo sull'Adda (MI)
no. cazzato uguale.

febbraio ha 31 giorni :vabe:

:whistler:
_________________
Immagine - Amare la Formattazione è la Soluzione al 90% dei Problemi della Vita
Top
 Profilo Non connesso  
 
 Oggetto del messaggio: Re: [JAVA] Richieste di aiuto Java
MessaggioInviato: mer apr 20, 2011 10:26 am 
Schiavo
Avatar utente
Iscritto il: gio nov 04, 2004 2:21 pm
Messaggi: 3640
SuperMario=ITA= ? ha scritto:
no, quello di harv è cannato, ma usando la formula di ally è ok

Codice:
((1000L*60L*60L*24L)+1)
al denominatore sembra ok

moar testing.

nel frattempo grazie ;)


...togli il +1 e non considera la data di fine come compresa...
_________________
...Hikari ti adoro...è la tazzina che mi rende così Immagine...Gore Business...sono un uomo...ho due emozioni : mangiare e scopare...se non ce l'ho in tiro fammi un toast...
Top
 Profilo Non connesso  
 
 Oggetto del messaggio: Re: [JAVA] Richieste di aiuto Java
MessaggioInviato: mer apr 20, 2011 10:26 am 
Dittatore
Dittatore
Avatar utente
Iscritto il: sab giu 17, 2006 2:02 pm
Messaggi: 39361
Località: Dentro il mio ano
Immagine


;)
_________________
No real limits of any kind apply here — not even the sky
Immagine

p.NiGhTmArE (9 marzo 2003 - 8 ottobre 2008)
IO C'ERO
p-nightmare (8 ottobre 2008 - 8 ottobre 2008)
p.nightmаrе (8 ottobre 2008 - 22 febbraio 2009)

Dopo quasi sei anni di spam, suddenly a lifeban appears.
p.nightmare riposa in pace.
Spoiler: show
Immagine
rest in pieces (23 febbraio 2009 - 23 febbraio 2009)
-Ban per utente orbitante
smettila. (23 febbraio 2009 - 23 febbraio 2009)
-Ban per smascheratura di clone
????????u?d, oq?????, ??????po, uos?????, ?ö??ss??s(25 febbraio 2009 - 25 febbraio 2009)
-Ban per iscrizione alla cena
SwisströM mandante (2 marzo 2009 - 2 marzo 2009)
-Ban per mandante
ibtl (2 marzo 2009 - 2 marzo 2009)
-Ban per epic win in b4 the ban, failget, winrar, epic win in b4 the ban (2) e altro
no wai (9 marzo 2009 - 9 marzo 2009)
-Ban per WTF morgstronzate, dead babies/jews jokes e francoiskfagging
barrel roll (10 marzo 2009 - 11 marzo 2009)
-Ban per barrel rolling (2) e crosspua (http://www.hwupgrade.org/forum/viewtopic.php?f=4&t=17993)
Paol? Corsini (31 maggio 2009 - 31 maggio 2009)
-Ban per admincloning e chinaupgrade (no screen, thread cestinato)
AngelTretya (11 novembre 2009 - 12 novembre 2009)
-Ban per CromaTrolling
p,nightm?r? (15 novembre 2009 - 15 novembre 2009)
-Ban per funerale del router
Intel900009 (11 novembre 2009 - 10 dicembre 2009)
-Ban per SPAM
???????? (23 agosto 2009 - 10 dicembre 2009)
-Ban per SPAM-CLONE
magopippo86 (10 dicembre 2009 - 10 dicembre 2009)
-Ban per... "Vietato l'accesso"
cliowill78 (10 dicembre 2009 - 11 dicembre 2009)
-Ban per colpa di quel coglione del mambo
mariopppp (28 gennaio 2010 - 28 gennaio 2010)
-Ban per aver difeso mio figlio dalle minacce di xeggot (e toasting in an epic bread ).
venti (4 febbraio 2010 - 4 febbraio 2010)
-Ban con scuse per aver festeggiato il ventesimo clone
precisante (26 febbraio 2010 - 26 febbraio 2010)
-Ban per precisazione dovuta a calunnia
se non con un eh ma eh ma bla bla blaImmagine
Top
 Profilo Non connesso  
 
 Oggetto del messaggio: Re: [JAVA] Richieste di aiuto Java
MessaggioInviato: mer apr 20, 2011 10:27 am 
Lo scemo del forum
Lo scemo del forum
Avatar utente
Iscritto il: ven ago 31, 2007 5:30 pm
Messaggi: 31524
Località: Trezzo sull'Adda (MI)
ally ? ha scritto:
SuperMario=ITA= ? ha scritto:
siamo da capo.

dal 30 giugno al 1 luglio mi da due giorni.

è come se il suo calendario interno ha 31 giorni per ogni mese.


...segna anche due giorni dal "10/06/2007" al "11/06/2007"...


no, ne segna uno.

E il tuo ne segna zero, quindi è cazzato.
_________________
Immagine - Amare la Formattazione è la Soluzione al 90% dei Problemi della Vita
Top
 Profilo Non connesso  
 
 Oggetto del messaggio: Re: [JAVA] Richieste di aiuto Java
MessaggioInviato: mer apr 20, 2011 10:31 am 
Schiavo
Avatar utente
Iscritto il: gio nov 04, 2004 2:21 pm
Messaggi: 3640
SuperMario=ITA= ? ha scritto:
ally ? ha scritto:


...segna anche due giorni dal "10/06/2007" al "11/06/2007"...


no, ne segna uno.

E il tuo ne segna zero, quindi è cazzato.


Codice:
public class DateDiffernces {
   
   public static void main(String[] args) {
      
      Date from = null;
      try {
         from = new SimpleDateFormat("dd/MM/yyyy").parse("28/02/2007");
      } catch (ParseException e) {
         e.printStackTrace();
      }
      from.getTime();
      Date to = null;
      try {
         to = new SimpleDateFormat("dd/MM/yyyy").parse("01/03/2007");
      } catch (ParseException e) {
         e.printStackTrace();
      }
      long diff = to.getTime()-from.getTime();

        System.out.println(diff / (1000L*60L*60L*24L)+0);
   }
}


...in console ho 1 come risultato...
_________________
...Hikari ti adoro...è la tazzina che mi rende così Immagine...Gore Business...sono un uomo...ho due emozioni : mangiare e scopare...se non ce l'ho in tiro fammi un toast...
Top
 Profilo Non connesso  
 
 Oggetto del messaggio: Re: [JAVA] Richieste di aiuto Java
MessaggioInviato: mer apr 20, 2011 10:31 am 
Lo scemo del forum
Lo scemo del forum
Avatar utente
Iscritto il: ven ago 31, 2007 5:30 pm
Messaggi: 31524
Località: Trezzo sull'Adda (MI)
ricapitolando:

col mio: la differenza tra due giorni vicini segna 1 giorno (giusto. da oggi a domani passa 1 gg). Ma dal 30 giugno al 1 luglio ne segna 2 (come se ci fosse di mezzo il 31 giugno che non esiste).
Stessa cosa per 28 febbraio - 1 marzo: segna 4 giorni.

Stessa cosa per quello di harv.

Quello di ally segna tutti gli stessi valori meno uno.
EDIT: quello di ally ho solo preso la formula finale...

come uso il tuo partendo da due variabili calendar? uso il getMillis?
_________________
Immagine - Amare la Formattazione è la Soluzione al 90% dei Problemi della Vita
Top
 Profilo Non connesso  
 
 Oggetto del messaggio: Re: [JAVA] Richieste di aiuto Java
MessaggioInviato: mer apr 20, 2011 10:38 am 
Schiavo
Avatar utente
Iscritto il: gio nov 04, 2004 2:21 pm
Messaggi: 3640
SuperMario=ITA= ? ha scritto:
ricapitolando:

col mio: la differenza tra due giorni vicini segna 1 giorno (giusto. da oggi a domani passa 1 gg). Ma dal 30 giugno al 1 luglio ne segna 2 (come se ci fosse di mezzo il 31 giugno che non esiste).
Stessa cosa per 28 febbraio - 1 marzo: segna 4 giorni.

Stessa cosa per quello di harv.

Quello di ally segna tutti gli stessi valori meno uno.
EDIT: quello di ally ho solo preso la formula finale...

come uso il tuo partendo da due variabili calendar? uso il getMillis?


Codice:
SimpleDateFormat simpleDateForm = new SimpleDateFormat("HH:mm:ss");
System.out.println(simpleDateForm.format(calendar.getTime()));


...a mio avviso ti conviene lavorare a millis...
_________________
...Hikari ti adoro...è la tazzina che mi rende così Immagine...Gore Business...sono un uomo...ho due emozioni : mangiare e scopare...se non ce l'ho in tiro fammi un toast...
Top
 Profilo Non connesso  
 
 Oggetto del messaggio: Re: [JAVA] Richieste di aiuto Java
MessaggioInviato: mer apr 20, 2011 10:53 am 
Lo scemo del forum
Lo scemo del forum
Avatar utente
Iscritto il: ven ago 31, 2007 5:30 pm
Messaggi: 31524
Località: Trezzo sull'Adda (MI)
:cryy:

non sono capace :cryy:


Codice:
    public static long daysBetween(Calendar startDate, Calendar endDate) {

       SimpleDateFormat from = new SimpleDateFormat("dd/MM/yyyy");
       from.format(startDate.getTime());
       SimpleDateFormat to = new SimpleDateFormat("dd/MM/yyyy");
       from.format(endDate.getTime();
       
        Date from = null;
        try {
           from = new SimpleDateFormat("dd/MM/yyyy").parse("10/11/2007");
        } catch (ParseException e) {
           e.printStackTrace();
        }
        from.getTime();
        Date to = null;
        try {
           to = new SimpleDateFormat("dd/MM/yyyy").parse("10/12/2007");
        } catch (ParseException e) {
           e.printStackTrace();
        }
        long diff = to.getTime()-from.getTime();

          long daysBetween = diff / (1000L*60L*60L*24L)+0);

return daysBetween;

}


dimmi come fare. Io le passo le due variabili calendar con dentro data iniziale e finale (giorno mese e anno e basta) e la funzione le deve usare e restituirmi il valore daysBetween.

Non ho mai usato il simpledateformat, ho sempre lavorato col calendar quindi non so come fare. Scusate ma sono alle prime armi e so poco o un cazzo. :pua:
_________________
Immagine - Amare la Formattazione è la Soluzione al 90% dei Problemi della Vita
Top
 Profilo Non connesso  
 
 Oggetto del messaggio: Re: [JAVA] Richieste di aiuto Java
MessaggioInviato: mer apr 20, 2011 11:08 am 
Schiavo
Avatar utente
Iscritto il: gio lug 15, 2010 2:28 pm
Messaggi: 2131
è na vita che non programmo in java
_________________
Immagine
Top
 Profilo Non connesso  
 
 Oggetto del messaggio: Re: [JAVA] Richieste di aiuto Java
MessaggioInviato: mer apr 20, 2011 11:14 am 
Schiavo
Avatar utente
Iscritto il: gio nov 04, 2004 2:21 pm
Messaggi: 3640
Codice:
//mi ricavo i mills da calendar
      
      Calendar startDate = Calendar.getInstance();
      startDate.set(2010,02, 28);
      Calendar endDate = Calendar.getInstance();
      endDate.set(2010, 03, 01);
      
      long diff = endDate.getTimeInMillis()-startDate.getTimeInMillis();
      System.out.println("differenza calendar "+(diff / (1000L*60L*60L*24L)+0));
       
      //mi ricavo i mills da Date
       
        Date from = null;
      try {
         from = new SimpleDateFormat("dd/MM/yyyy").parse(startDate.get(Calendar.DATE)+"/"+startDate.get(Calendar.MONTH)+"/"+startDate.get(Calendar.YEAR));
      } catch (ParseException e) {
         e.printStackTrace();
      }
      Date to = null;
      try {
         to = new SimpleDateFormat("dd/MM/yyyy").parse(endDate.get(Calendar.DATE)+"/"+endDate.get(Calendar.MONTH)+"/"+endDate.get(Calendar.YEAR));
      } catch (ParseException e) {
         e.printStackTrace();
      }
      diff = to.getTime()-from.getTime();
      System.out.println("differenza mills "+(diff / (1000L*60L*60L*24L)+0));
            


...sicuramente esitono parse migliori...comunque con calendar sballina le date...
_________________
...Hikari ti adoro...è la tazzina che mi rende così Immagine...Gore Business...sono un uomo...ho due emozioni : mangiare e scopare...se non ce l'ho in tiro fammi un toast...
Top
 Profilo Non connesso  
 
 Oggetto del messaggio: Re: [JAVA] Richieste di aiuto Java
MessaggioInviato: mer apr 20, 2011 11:16 am 
Schiavo
Avatar utente
Iscritto il: gio nov 04, 2004 2:21 pm
Messaggi: 3640
...ah la prima parte è solo per dimostrare che sballina con calendar...
_________________
...Hikari ti adoro...è la tazzina che mi rende così Immagine...Gore Business...sono un uomo...ho due emozioni : mangiare e scopare...se non ce l'ho in tiro fammi un toast...
Top
 Profilo Non connesso  
 
 Oggetto del messaggio: Re: [JAVA] Richieste di aiuto Java
MessaggioInviato: mer apr 20, 2011 11:18 am 
Schiavo
Avatar utente
Iscritto il: gio lug 15, 2010 2:28 pm
Messaggi: 2131
purtoppo non ho l'ambiente configurato.....ma prova questo

DateFormat format = DateFormat.getDateTimeInstance();
Date completeDate=null;
Date postedDate=null;

try
{
completeDate = format.parse("18-May-09 11:30:57");
postedDate = format.parse("11-May-09 10:46:37");
long res = completeDate.getTime() - postedDate.getTime();

System.out.println("postedDate: " + postedDate);
System.out.println("completeDate: " + completeDate);
System.out.println("result: " + res + '\n' + "minutes: " + (double) res / (60*1000) + '\n'
+ "hours: " + (double) res / (60*60*1000) + '\n' + "days: " + (double) res / (24*60*60*1000));
}
catch (ParseException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
_________________
Immagine
Top
 Profilo Non connesso  
 
 Oggetto del messaggio: Re: [JAVA] Richieste di aiuto Java
MessaggioInviato: mer apr 20, 2011 2:26 pm 
Lo scemo del forum
Lo scemo del forum
Avatar utente
Iscritto il: ven ago 31, 2007 5:30 pm
Messaggi: 31524
Località: Trezzo sull'Adda (MI)
ally ? ha scritto:
Codice:
//mi ricavo i mills da calendar
      
      Calendar startDate = Calendar.getInstance();
      startDate.set(2010,02, 28);
      Calendar endDate = Calendar.getInstance();
      endDate.set(2010, 03, 01);
      
      long diff = endDate.getTimeInMillis()-startDate.getTimeInMillis();
      System.out.println("differenza calendar "+(diff / (1000L*60L*60L*24L)+0));
       
      //mi ricavo i mills da Date
       
        Date from = null;
      try {
         from = new SimpleDateFormat("dd/MM/yyyy").parse(startDate.get(Calendar.DATE)+"/"+startDate.get(Calendar.MONTH)+"/"+startDate.get(Calendar.YEAR));
      } catch (ParseException e) {
         e.printStackTrace();
      }
      Date to = null;
      try {
         to = new SimpleDateFormat("dd/MM/yyyy").parse(endDate.get(Calendar.DATE)+"/"+endDate.get(Calendar.MONTH)+"/"+endDate.get(Calendar.YEAR));
      } catch (ParseException e) {
         e.printStackTrace();
      }
      diff = to.getTime()-from.getTime();
      System.out.println("differenza mills "+(diff / (1000L*60L*60L*24L)+0));
            


...sicuramente esitono parse migliori...comunque con calendar sballina le date...


perchè se immetto 30 marzo / 1 aprile mi da 2 giorni, ma se immetto 31 marzo/1 aprile me ne da 0? :wat:
il 31 luglio/1 agosto segna 1 come dovrebbe :wat:



per il resto va benissimo...


ziocane ma fare le cose più decenti quelli che forniscono le librerie? :vabe:
_________________
Immagine - Amare la Formattazione è la Soluzione al 90% dei Problemi della Vita
Top
 Profilo Non connesso  
 
 Oggetto del messaggio: Re: [JAVA] Richieste di aiuto Java
MessaggioInviato: mer apr 20, 2011 7:48 pm 
Schiavo
Avatar utente
Iscritto il: mer lug 28, 2010 8:50 pm
Messaggi: 1318
c'ho perso tempo dopo cena, ma è da un pò che non programmo :D

Codice:
import java.util.GregorianCalendar;

public class DateChecker {

    private GregorianCalendar day1, day2;

    public DateChecker(Date date1, Date date2){
        day1 = date1.generateGregorianCalendarDate();
        day2 = date2.generateGregorianCalendarDate();
    }

    public void check(){
        long temp = day2.getTimeInMillis() - day1.getTimeInMillis();       
        int numOfDay = (int) temp / 86400000;
        System.out.println(numOfDay + 1);
    }     

    public static void main(String[] args){
        Date a = new Date(2011,3,30);
        Date b = new Date(2011,4,1);

        DateChecker dc = new DateChecker(a,b);

        dc.check();
    }
}


definita nello stesso package una classe Date di appoggio
Codice:
import java.util.GregorianCalendar;

public class Date{

        private int year, month, day;

        public Date(int year, int month, int day){
            this.year = year;
            this.month = month;
            this.day = day;
        }

        public GregorianCalendar generateGregorianCalendarDate(){
            return new GregorianCalendar(this.year, this.month, this.day);
        }
}
_________________
Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better.
Top
 Profilo E-mail Non connesso  
 
 Oggetto del messaggio: Re: [JAVA] Richieste di aiuto Java
MessaggioInviato: mer apr 20, 2011 8:06 pm 
Schiavo
Avatar utente
Iscritto il: ven feb 03, 2006 10:50 pm
Messaggi: 5164
Località: Reggio Calabria --> London
La parte di java per le date fa davvero cacare a spruzzo. :pua:
ecco come sarebbe in ruby:
Codice:
require 'date'

today = DateTime.now
target_date = Date.new 2011, 1, 21
difference = today - target_date
puts "La differenza tra le due date e' " + difference.to_i.to_s

per java 6 ti hanno gia' risposto, devi scrivere una merda simile:
Codice:
Calendar startDate = Calendar.getInstance();
Calendar endDate = Calendar.getInstance();

startDate.set(2006, 12, 30);
endDate.set(2007, 5, 3);

long startTime = startDate.getTimeInMillis();
long endTime = endDate.getTimeInMillis();

long timeDifference = endTime - startTime;

long days = timeDifference / (24 * 60 * 60 * 1000);

con java 7 finalmente si sono decisi ad introdurre delle API per migliorare un po' 'sta merda indecente.
Quindi se ne riparlera' ad agosto se tutto va bene...
_________________
:scongiuri:
Top
 Profilo Non connesso  
 
 Oggetto del messaggio: Re: [JAVA] Richieste di aiuto Java
MessaggioInviato: mer apr 20, 2011 8:31 pm 
Schiavo
Avatar utente
Iscritto il: gio nov 04, 2004 2:21 pm
Messaggi: 3640
TigerShark ? ha scritto:
La parte di java per le date fa davvero cacare a spruzzo. :pua:
ecco come sarebbe in ruby:
Codice:
require 'date'

today = DateTime.now
target_date = Date.new 2011, 1, 21
difference = today - target_date
puts "La differenza tra le due date e' " + difference.to_i.to_s

per java 6 ti hanno gia' risposto, devi scrivere una merda simile:
Codice:
Calendar startDate = Calendar.getInstance();
Calendar endDate = Calendar.getInstance();

startDate.set(2006, 12, 30);
endDate.set(2007, 5, 3);

long startTime = startDate.getTimeInMillis();
long endTime = endDate.getTimeInMillis();

long timeDifference = endTime - startTime;

long days = timeDifference / (24 * 60 * 60 * 1000);

con java 7 finalmente si sono decisi ad introdurre delle API per migliorare un po' 'sta merda indecente.
Quindi se ne riparlera' ad agosto se tutto va bene...


...si ottanta mila versioni diverse di gestione date...quando lavoro con db passo SEMPRE per mills...
_________________
...Hikari ti adoro...è la tazzina che mi rende così Immagine...Gore Business...sono un uomo...ho due emozioni : mangiare e scopare...se non ce l'ho in tiro fammi un toast...
Top
 Profilo Non connesso  
 
 Oggetto del messaggio: Re: [JAVA] Richieste di aiuto Java
MessaggioInviato: mer apr 20, 2011 8:54 pm 
Schiavo
Avatar utente
Iscritto il: ven feb 03, 2006 10:50 pm
Messaggi: 5164
Località: Reggio Calabria --> London
SuperMario=ITA= ? ha scritto:
ally ? ha scritto:
Codice:
//mi ricavo i mills da calendar
      
      Calendar startDate = Calendar.getInstance();
      startDate.set(2010,02, 28);
      Calendar endDate = Calendar.getInstance();
      endDate.set(2010, 03, 01);
      
      long diff = endDate.getTimeInMillis()-startDate.getTimeInMillis();
      System.out.println("differenza calendar "+(diff / (1000L*60L*60L*24L)+0));
       
      //mi ricavo i mills da Date
       
        Date from = null;
      try {
         from = new SimpleDateFormat("dd/MM/yyyy").parse(startDate.get(Calendar.DATE)+"/"+startDate.get(Calendar.MONTH)+"/"+startDate.get(Calendar.YEAR));
      } catch (ParseException e) {
         e.printStackTrace();
      }
      Date to = null;
      try {
         to = new SimpleDateFormat("dd/MM/yyyy").parse(endDate.get(Calendar.DATE)+"/"+endDate.get(Calendar.MONTH)+"/"+endDate.get(Calendar.YEAR));
      } catch (ParseException e) {
         e.printStackTrace();
      }
      diff = to.getTime()-from.getTime();
      System.out.println("differenza mills "+(diff / (1000L*60L*60L*24L)+0));
            


...sicuramente esitono parse migliori...comunque con calendar sballina le date...


perchè se immetto 30 marzo / 1 aprile mi da 2 giorni, ma se immetto 31 marzo/1 aprile me ne da 0? :wat:
il 31 luglio/1 agosto segna 1 come dovrebbe :wat:



per il resto va benissimo...


ziocane ma fare le cose più decenti quelli che forniscono le librerie? :vabe:

ho visto ora quello che intendevi..
e' un bug della Lady GaGa, perche' in pratica succede che se setti il 31 marzo e poi stampi quel calendar cosi' settato ti segna l'1 aprile. :pua:
appena testato. :pua:

EDIT: Ho anche provato lo scriptino in ruby con jruby e quello funziona correttamente. :asd:
_________________
:scongiuri:


Ultima modifica di TigerShark, mer apr 20, 2011 9:16 pm, modificato 1 volta.
Top
 Profilo Non connesso  
 
Visualizza ultimi messaggi:  Ordina per  
Apri un nuovo argomento Rispondi all’argomento  [ 151 messaggi ]  Vai alla pagina 1, 2, 3, 4, 5 ... 7  Prossimo
-->

Tutti gli orari sono UTC +1 ora


Chi c’è in linea

Visitano il forum: Nessuno e 0 ospiti


Non puoi aprire nuovi argomenti
Non puoi rispondere negli argomenti
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi inviare allegati

Vai a:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traduzione Italiana phpBB.it