Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator
Dopo oltre 4 anni si rinnova la serie Sony Alpha 7 con la quinta generazione, che porta in dote veramente tante novità a partire dai 30fps e dal nuovo sensore partially stacked da 33Mpixel. L'abbiamo provata per un breve periodo, ecco come è andata dopo averla messa alle strette.
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1
realme e Aston Martin Aramco F1 Team si sono (ri)unite dando alla vita un flagship con chip Snapdragon 8 Elite Gen 5 e design esclusivo ispirato alle monoposto di Formula 1. La Dream Edition introduce la nuova colorazione Lime Essence abbinata al tradizionale Aston Martin Racing Green, decorazioni intercambiabili personalizzate e una confezione a tema F1, intorno a uno smartphone dall'ottima dotazione tecnica con batteria da 7000mAh ricaricabile a 120W e isola fotografica intercambiabile
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
Abbiamo partecipato all'OVHcloud Summit 2025, conferenza annuale in cui l'azienda francese presenta le sue ultime novità. Abbiamo parlato di cloud pubblico e privato, d'intelligenza artificiale, di computer quantistici e di sovranità. Che forse, però, dovremmo chiamare solo "sicurezza"
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 29-05-2006, 23:24   #1
robby87
Member
 
Iscritto dal: May 2005
Messaggi: 83
[JAVA] CALCOLO DISTANZE TRA 2 DATE

Qualkuno mi riesce a postare un algoritmo per il calcolo della distanza tra 2 date?? io ho fatto l'input in vari text field ed ho i valori in 2 variabili per data: giorno1 mese1 anno1 (riguardo la prima data) e giorno2 mese2 anno2(riguardo la seconda data)! Come faccio a calcolare la distanza tra le 2?? le variabili sono tutte di tipo int...


GRAZIE A TUTTI!!!
robby87 è offline   Rispondi citando il messaggio o parte di esso
Old 30-05-2006, 02:54   #2
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Quote:
Originariamente inviato da robby87
Qualkuno mi riesce a postare un algoritmo per il calcolo della distanza tra 2 date?? io ho fatto l'input in vari text field ed ho i valori in 2 variabili per data: giorno1 mese1 anno1 (riguardo la prima data) e giorno2 mese2 anno2(riguardo la seconda data)! Come faccio a calcolare la distanza tra le 2?? le variabili sono tutte di tipo int...


GRAZIE A TUTTI!!!
Ciao,
in Java esistono almeno due tecniche per effettuare questo calcolo.

1 - (lo preferisco). Crei due variabili di tipo Calendar, mediante il metodo set() imposti giorno/mese/anno (volendo anche ore minuti secondi e millisecondi), dopo di che ti chiami la Calendar.getTimeInMillis(). Per ottenere la distanza fra due date, ti basta fare la sottrazione.
Se poi vuoi trasformare nuovamente tutto in giorni/mesi/anni, ti bastera' creare una nuova variabile Calendar, fare la setTimeInMillis() e poi, mediante il metodo get(), leggere giorno/mese/anno.
Sembra laboriosa ma e' tutto codice di "routine". E' la soluzione che preferisco perche' e' simile a quanto si puo' fare in linguaggio C. Quindi si puo' applicare la stessa soluzione ad ambiti diversi;

2 - (leggermente piu' veloce) puoi usare la Calendar.add() che ti permette di aggiungere/sottrarre giorni/mesi/anni

Spero ti sia utile

High Flying
Sottovento
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 30-05-2006, 17:31   #3
robby87
Member
 
Iscritto dal: May 2005
Messaggi: 83
Calendar data1,data2;
double dat1,dat2,dist;
data1.set(aa1,mm1,gg1);
data2.set(aa2,mm2,gg2);

dat1= data1.getTimeInMillis();
dat2= data1.getTimeInMillis();

dist=dat1-dat2;

Può andare così?? nn ho capito bene la fine se vuoi mettermi tu qualke riga??? grazie mille...

cmq aa1,mm1,gg1 sono variabili di tipo intero ke insieme formano la data!
robby87 è offline   Rispondi citando il messaggio o parte di esso
Old 31-05-2006, 17:00   #4
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Quote:
Originariamente inviato da robby87
Calendar data1,data2;
double dat1,dat2,dist;
data1.set(aa1,mm1,gg1);
data2.set(aa2,mm2,gg2);

dat1= data1.getTimeInMillis();
dat2= data1.getTimeInMillis();

dist=dat1-dat2;

Può andare così?? nn ho capito bene la fine se vuoi mettermi tu qualke riga??? grazie mille...

cmq aa1,mm1,gg1 sono variabili di tipo intero ke insieme formano la data!
Ciao e scusa la risposta in ritardo.
Se hai le date, puoi fare una cosa del genere:

Codice:
Calendar firstDate = Calendar.getInstance ();
firstDate.set (Calendar.YEAR, year);
firstDate.set (Calendar.MONTH, month - 1); // Month starts from 0
firstDate.set (Calendar.DAY_OF_MONTH, day);
firstDate.set (Calendar.HOUR_OF_DAY, hour);
firstDate.set (Calendar.MINUTE, minute);
firstDate.set (Calendar.SECOND, second);
firstDate.set (Calendar.MILLISECOND, millisecond);

// You can do the same for the second date, and then

long distance = firstDate.getTimeInMillis() - secondDate.getTimeInMillis();
Questo codice ti ritorna la distanza fra le due date, espresse in millisecondi.
Se vuoi tornare indietro:

Codice:
Calendar cal = Calendar.getInstance ();
cal.setTimeInMillis (distance);

int dist_year = cal.get (Calendar.YEAR);
int dist_month = cal.get (Calendar.MONTH) + 1;
int day = cal.get (Calendar.DAY_OF_MONTH);
Spero ti sia utile

High Flying
Sottovento
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 31-05-2006, 20:44   #5
theClimber
Senior Member
 
L'Avatar di theClimber
 
Iscritto dal: Oct 2000
Messaggi: 235
Nell'ottica di una soluzione "alternativa" e del non re-inventare la ruota, si puo' sempre ricorrere a librerie consolidate. Relativamente a date e intervalli di tempo:

http://joda-time.sourceforge.net/

Relativamente ad intervalli e durate trovi degli esempi:

http://joda-time.sourceforge.net/key_interval.html

Ciao
__________________
...writing about climbing is boring. I would rather go climbing. (Chuck Pratt)
theClimber è offline   Rispondi citando il messaggio o parte di esso
Old 31-05-2006, 21:07   #6
robby87
Member
 
Iscritto dal: May 2005
Messaggi: 83
mi sballa!! cioè nn calcola la differenza giusta...mi da sempre lo stesso risultato!!!
per esempio in questa istruzione

firstDate.set (Calendar.YEAR, year);
la variabile year( la seconda ovviamente) è di tipo intero vero???
robby87 è offline   Rispondi citando il messaggio o parte di esso
Old 01-06-2006, 02:53   #7
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Quote:
Originariamente inviato da robby87
mi sballa!! cioè nn calcola la differenza giusta...mi da sempre lo stesso risultato!!!
per esempio in questa istruzione

firstDate.set (Calendar.YEAR, year);
la variabile year( la seconda ovviamente) è di tipo intero vero???
Si, e' di tipo intero. Questo metodo l'ho usato parecchie volte, senza problemi.
Se sballa, probabilmente il problema e' in qualcosa di correlato:
- leggi le date correttamente?
- leggi anche ore/minuti/secondi?
- Inizializzi tutto correttamente?
- La Calendar.getInstance() dovrebbe riportarti un Gregorian calendar e non dovresti aver problemi.

Pubblica il codice interessato, o spediscimelo in pvt.
Si tratta di poche righe di software (spero).
Per questo problema, nonostante l'ottimo suggerimento di theClimber, non mi sembra il caso di ricorrere a librerie esterne.
La Calendar mi sembra sufficiente.
Casomai provero' l'uso di quella libreria per quanto riguarda il calcolo del compleanno di mia moglie, visto che segue il calendario buddista e tutti gli anni non capisco quando festeggia .
Se hai tempo di aspettare a causa del fuso orario, posso aiutarti

High Flying
Sottovento
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 01-06-2006, 12:28   #8
robby87
Member
 
Iscritto dal: May 2005
Messaggi: 83
Questo è il mio programma:

import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import java.lang.*;
import java.util.*;




class GestoreFinestra implements WindowListener
{
public void windowIconified(WindowEvent e) {}
public void windowDeiconified(WindowEvent e) {}
public void windowActivated(WindowEvent e) {}
public void windowDeactivated(WindowEvent e) {}
public void windowOpened(WindowEvent e) {}
public void windowClosed(WindowEvent e) {}

public void windowClosing(WindowEvent e)
{
System.out.println("Programma terminato...");
System.exit(0);
}
}
public class ConvertFrame extends JFrame implements ActionListener
{
public JPanel p = new JPanel();
public JPanel p2 = new JPanel();
public JPanel p3 = new JPanel();
public JPanel p1 = new JPanel();

public JTextField mese1 = new JTextField(15);
public JTextField giorno1 = new JTextField(15);
public JTextField anno1 = new JTextField(15);

public JTextField mese2 = new JTextField(15);
public JTextField giorno2 = new JTextField(15);
public JTextField anno2 = new JTextField(15);

public JButton confronta = new JButton("Confronto date");
public JButton festa = new JButton("Controllo festività");
public JButton exit = new JButton("Uscita");
public JButton giorno = new JButton("Stabilisci giorno");
public String prima,sec;
public int i,contr=0;


//variabili per metodo diff
/* Calendar data1 = Calendar.getInstance ();
Calendar data2 = Calendar.getInstance ();
Calendar dat_dist = Calendar.getInstance ();
*/
int dist_aa,dist_mm,dist_gg;
long dist;


public ConvertFrame()
{
super("...Bondavalli Roberto... GESTIONE CLASSE DATA");

addWindowListener(new GestoreFinestra());

p2.setLayout(new GridLayout(4,2,0,0));
p2.add(new JLabel("Giorno: "));
p2.add(giorno1);

p2.add(new JLabel("Mese: "));
p2.add(mese1);

p2.add(new JLabel("Anno: "));
p2.add(anno1);


p3.setLayout(new GridLayout(4,2,0,0));

p3.add(new JLabel("Giorno: "));
p3.add(giorno2);

p3.add(new JLabel("Mese: "));
p3.add(mese2);

p3.add(new JLabel("Anno: "));
p3.add(anno2);


p1.setLayout(new GridLayout(2,2,0,0));
p1.add(confronta);
p1.add(festa);
p1.add(giorno);
p1.add(exit);



p.setLayout(new GridLayout(5,1));
p.add(new JLabel("1° DATA: "));
p.add(p2);
p.add(new JLabel("2° DATA: "));
p.add(p3);
p.add(p1);

add(p);


setSize(200,200 );
confronta.addActionListener(this);
festa.addActionListener(this);
exit.addActionListener(this);
giorno.addActionListener(this);

}

public void actionPerformed(ActionEvent e)
{
int ok1=0,ok2=0;;
String bottone = e.getActionCommand();
date d= new date ();

if (e.getActionCommand()== "Uscita")
{
System.exit(0);
}
else
if (e.getActionCommand()== "Confronto date")
{

ok1=d.Ctrl1();
ok2=d.Ctrl2();

if(ok1==1 && ok2==1)
{
d.Tras();
d.diff();
// JOptionPane.showMessageDialog( null,"Distanza "+dist_aa"ciao");


}else
JOptionPane.showMessageDialog( null,"Inserimento data errato ");

}


}


public static void main(String args[])
{

ConvertFrame f = new ConvertFrame();
f.pack();
f.setVisible(true);



}

class date
{
int dim;
String giorno,mese,anno;
int gg1,mm1,aa1;//variabili prima data
int gg2,mm2,aa2;

public void Tras()
{



try
{
giorno = giorno1.getText();
gg1=Integer.valueOf(giorno).intValue();
System.out.println("gg1: "+gg1);
mese = mese1.getText();
mm1=Integer.valueOf(mese).intValue();
System.out.println("mm1: "+mm1);

anno = anno1.getText();
aa1=Integer.valueOf(anno).intValue();
System.out.println("aa1: "+aa1);

giorno = giorno2.getText();
gg2=Integer.valueOf(giorno).intValue();
System.out.println("gg2: "+gg2);

mese = mese2.getText();
mm2=Integer.valueOf(mese).intValue();
System.out.println("mm1: "+mm2);

anno = anno2.getText();
aa2=Integer.valueOf(anno).intValue();
System.out.println("aa1: "+aa2);
}
catch (Exception e)
{
System.out.println("Numero NON corretto");
JOptionPane.showMessageDialog( null,"Inserimento data errato ");
return;
}


if( gg1==gg2 && mm1==mm2 && aa1==aa2 )
{
JOptionPane.showMessageDialog( null,"Inserimento data errato (DATE UGUALI) ");
}


}



public int Ctrl1()
{
if(aa1 >3000 && aa1< -1000)
{
JOptionPane.showMessageDialog( null,"Inserimento data errato ");
}
if(mm1 >12)
{
JOptionPane.showMessageDialog( null,"Inserimento data errato ");
}

if(mm1==2 && gg1 >28)
{
JOptionPane.showMessageDialog( null,"Inserimento data errato ");
}

if( (mm1==11 || mm1==4 || mm1==6 || mm1==9) && gg1 >30)
{
JOptionPane.showMessageDialog( null,"Inserimento data errato ");
}else
if(gg1>31)
{
JOptionPane.showMessageDialog( null,"Inserimento data errato ");
}

return 1;
}



public int Ctrl2()
{

if(aa2 >3000 && aa2< -1000)
{
JOptionPane.showMessageDialog( null,"Inserimento data errato ");
}

if(mm2 >12)
{
JOptionPane.showMessageDialog( null,"Inserimento data errato ");
}

if(mm2==2 && gg2 >28)
{
JOptionPane.showMessageDialog( null,"Inserimento data errato ");
}

if( (mm2==11 || mm2==4 || mm2==6 || mm2==9) && gg2 >30)
{
JOptionPane.showMessageDialog( null,"Inserimento data errato ");
}else

if(gg2>31)
{
JOptionPane.showMessageDialog( null,"Inserimento data errato ");
}
return 1;

}

public void diff()
{
Calendar data1= Calendar.getInstance ();
Calendar data2 = Calendar.getInstance ();
Calendar dat_dist = Calendar.getInstance ();




data1.set(Calendar.YEAR,aa1);

data1.set(Calendar.MONTH,mm1);

data1.set(Calendar.DAY_OF_MONTH,gg1);

data1.set (Calendar.MINUTE,0);

data1.set (Calendar.SECOND, 0);

data1.set (Calendar.MILLISECOND, 0);





data2.set(Calendar.YEAR,aa2);

data2.set(Calendar.MONTH,mm2);

data2.set(Calendar.DAY_OF_MONTH,gg2);

data2.set (Calendar.MINUTE,0);

data2.set (Calendar.SECOND, 0);

data2.set (Calendar.MILLISECOND, 0);


dist = data1.getTimeInMillis () - data2.getTimeInMillis();

dat_dist.setTimeInMillis (dist);


dist_aa= dat_dist.get (Calendar.YEAR);
dist_mm = dat_dist.get (Calendar.MONTH);
dist_gg = dat_dist.get (Calendar.DAY_OF_MONTH);

System.out.println("dist_aa: "+dist_aa);
System.out.println("dist_mm: "+dist_mm);
System.out.println("dist_gg: "+dist_gg);


}



}

}


mi stampa sempre la stessa data come output della distanza... V PREGO !! AIUTO!!!

Ultima modifica di robby87 : 01-06-2006 alle 12:31.
robby87 è offline   Rispondi citando il messaggio o parte di esso
Old 01-06-2006, 15:10   #9
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
modifico

Ciao.

Il tuo prog e' piu' o meno giusto (ocio che i mesi partono da 0)

L'errore e' nella logica:

l'istruzione
dat_dist.setTimeInMillis (dist);
e' errata.

"dist" e' un intervallo di tempo non una data.

ex: tra 01/01/2000 e 02/01/2000 c'e un giorno di differenza.
eseguendo: dat_dist.setTimeInMillis (dist) tu imposti la data 01/01/1970 (quella base) + un giorno.

Per sapere la differenza devi usare un altro metodo, io non sono esperto di java ma userei
anno1 - anno2
mese1 - mese2
etc

Spero di essermi capito bene :-)

Ultima modifica di trallallero : 01-06-2006 alle 15:44. Motivo: errata variabile
trallallero è offline   Rispondi citando il messaggio o parte di esso
Old 01-06-2006, 16:19   #10
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Quote:
Originariamente inviato da trallallero
Ciao.

Il tuo prog e' piu' o meno giusto (ocio che i mesi partono da 0)

L'errore e' nella logica:

l'istruzione
dat_dist.setTimeInMillis (dist);
e' errata.

"dist" e' un intervallo di tempo non una data.

ex: tra 01/01/2000 e 02/01/2000 c'e un giorno di differenza.
eseguendo: dat_dist.setTimeInMillis (dist) tu imposti la data 01/01/1970 (quella base) + un giorno.

Per sapere la differenza devi usare un altro metodo, io non sono esperto di java ma userei
anno1 - anno2
mese1 - mese2
etc

Spero di essermi capito bene :-)
Hai ragione, e chiedo scusa a robby87 per il suggerimento mezzo errato.
La soluzione e' http://forum.java.sun.com/thread.jsp...ssageID=631261 (fa tutto come suggerito fino ai millisecondi), dopo di che si approssima il calcolo dei giorni/mesi/anni.

Riporto l'ultimo messaggio (compreso di firma, ovviamente):

Codice:
  Hi,

The final answer how to calculate the difference between two dates:

// First convert the from and to Calender to long (milli seconds)
// MAKE SURE THE Hour, Seconds and Milli seconds are set to 0, if you
// already have you own Claender object otherwise the time will be 
// used in the comparision, later on.
long from = new java.util.GregorianCalendar(2003, 1, 20).getTime().getTime(); 
long to = new java.util.GregorianCalendar(2003, 2, 5).getTime().getTime(); 


// Next subtract the from date from the to date (make sure the
// result is a double, this is needed in case of Winter and Summer
// Time (changing the clock one hour ahead or back) the result will 
// then be not exactly rounded on days. If you use long, this slighty
// different result will be lost.
double difference = to - from; 


// Next divide the difference by the number of milliseconds in a day
// (1000 * 60 * 60 * 24). Next round the result, this is needed of the
// Summer and Winter time. If the period is 5 days and the change from
// Winter to Summer time is in the period the result will be 
// 5.041666666666667 instead of 5 because of the extra hour. The
// same will happen from Winter to Summer time, the result will be
// 4.958333333333333 instead of 5 because of the missing hour. The
// round method will round both to 5 and everything is OKE....
long days = Math.round((difference/(1000*60*60*24))); 


// Now we can print the day difference... Try it, it also works with 
// Feb 29...
System.out.println(days); 

Have fun,
Gras_22
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 01-06-2006, 19:03   #11
robby87
Member
 
Iscritto dal: May 2005
Messaggi: 83
io nn c capisco + niente...mi potete mettere a posto il codice nel programma e postarmi tutto il programma??? v prego, vi chiedo solo questo aiuto...
robby87 è offline   Rispondi citando il messaggio o parte di esso
Old 02-06-2006, 16:45   #12
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Quote:
Originariamente inviato da robby87
io nn c capisco + niente...mi potete mettere a posto il codice nel programma e postarmi tutto il programma??? v prego, vi chiedo solo questo aiuto...
Purtroppo non ho il tempo di fare questa operazione. Pero' ti posso risolvere il problema piu' importante:

Codice:
import java.util.*;

class DiffDate
{
	private int years;
	private int months;
	private int days;

	public DiffDate ()
	{
		years = 0;
		months = 0;
		days = 0;
	}

	public DiffDate (int years, int months, int days)
	{
		this.years = years;
		this.months = months;
		this.days = days;
	}

	public void setYears (int years)
	{
		this.years = years;
	}

	public void setMonths (int month)
	{
		this.months = months;
	}

	public void setDays (int days)
	{
		this.days = days;
	}

	public int getYears ()			{ return years;		}
	public int getMonths ()			{ return months;	}
	public int getDays ()				{	return days;		}
}

public class Differences
{
	public static int numDays (Calendar cal)
	{
		return cal.getActualMaximum (Calendar.DAY_OF_MONTH);
	}

	public static int numDaysPreviousMonth (Calendar cal)
	{
		Calendar c = (Calendar)cal.clone ();
		c.roll (Calendar.MONTH, -1);
		return c.getActualMaximum (Calendar.DAY_OF_MONTH);
	}

	public static DiffDate diffDates (Calendar beforeDate, Calendar afterDate)
	{
		int carryDay = 0;
		int carryMonth = 0;
		int diffday = afterDate.get(Calendar.DAY_OF_MONTH) - beforeDate.get(Calendar.DAY_OF_MONTH);
		if (diffday < 0)
		{
			diffday += numDaysPreviousMonth (afterDate);
			carryDay = 1;
		}

		int diffmonth = afterDate.get(Calendar.MONTH) - beforeDate.get(Calendar.MONTH) - carryDay;
		if (diffmonth < 0)
		{
			diffmonth += 12;
			carryMonth = 1;
		}
		int diffyear = afterDate.get(Calendar.YEAR) - beforeDate.get(Calendar.YEAR) - carryMonth;
		return new DiffDate (diffyear, diffmonth, diffday);
	}

	public static void main (String[] args)
	{
		Calendar degree1 = Calendar.getInstance ();
		degree1.set (Calendar.YEAR, 1992);
		degree1.set (Calendar.MONTH, 9);
		degree1.set (Calendar.DAY_OF_MONTH, 28);

		Calendar degree2 = Calendar.getInstance ();
		degree2.set (Calendar.YEAR, 2000);
		degree2.set (Calendar.MONTH, 6);
		degree2.set (Calendar.DAY_OF_MONTH, 6);
		Calendar rightNow = Calendar.getInstance ();

		Calendar wedding = Calendar.getInstance ();
		wedding.set (Calendar.YEAR, 2004);
		wedding.set (Calendar.MONTH, 5);
		wedding.set (Calendar.DAY_OF_MONTH, 4);

		DiffDate dd1 = diffDates (degree1, rightNow);
		DiffDate dd2 = diffDates (degree2, rightNow);
		DiffDate dd3 = diffDates (wedding, rightNow);

		System.out.println ("Caro Sottovento, stai invecchiando. Dalla tua prima laurea sono passati");
		System.out.println ("" + dd1.getYears() + " anni");
		System.out.println ("" + dd1.getMonths() + " mesi");
		System.out.println ("" + dd1.getDays() + " giorni");
		System.out.println ("Dalla tua seconda laurea sono passati");
		System.out.println ("" + dd2.getYears() + " anni");
		System.out.println ("" + dd2.getMonths() + " mesi");
		System.out.println ("" + dd2.getDays() + " giorni");
		System.out.println ("Dal tuo matrimonio sono passati");
		System.out.println ("" + dd3.getYears() + " anni");
		System.out.println ("" + dd3.getMonths() + " mesi");
		System.out.println ("" + dd3.getDays() + " giorni");
		System.out.println ("Non e' l'ora di mettere la testa a posto?");
	}
}
Stampera'

Codice:
Caro Sottovento, stai invecchiando. Dalla tua prima laurea sono passati
13 anni
7 mesi
5 giorni
Dalla tua seconda laurea sono passati
5 anni
10 mesi
27 giorni
Dal tuo matrimonio sono passati
1 anni
11 mesi
29 giorni
Non e' l'ora di mettere la testa a posto?
High Flying
Sottovento
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 03-06-2006, 11:58   #13
robby87
Member
 
Iscritto dal: May 2005
Messaggi: 83
Non c'ho capito niente...io purtroppo non sopporto java
robby87 è offline   Rispondi citando il messaggio o parte di esso
Old 03-06-2006, 13:19   #14
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Quote:
Originariamente inviato da robby87
Non c'ho capito niente...io purtroppo non sopporto java
1 - copia la class DiffDate nel file DiffDate.java

2 - copia il metodo
public static int numDaysPreviousMonth (Calendar cal)
in una classe di tuo gradimento (magari una dedicata a solo questo lavoro);

3 - copia il metodo
public static DiffDate diffDates (Calendar beforeDate, Calendar afterDate)
nella classe definita al punto 2.
Questo e' il metodo che chiamerai per avere la differenza fra le due date, espressa in giorni, mesi ed anni. Fai attenzione che non ho fatto i controlli necessari, per cui beforeDate deve essere antecedente ad afterDate.

4 - usa questo metodo nel tuo programma.

Tutto qui.

High Flying
Sottovento
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 03-06-2006, 13:37   #15
robby87
Member
 
Iscritto dal: May 2005
Messaggi: 83
evvai c sono riuscito!!! come faccio a stampare due valori con un:
JOptionPane.showMessageDialog??? cioè un valore c sono riuscito facendo così:
JOptionPane.showMessageDialog( null,"La distanza tra le due date è di giorni:"+dist_gg);

ma come faccio a stampare il valore di due variabili in un unica finestra?? GRAZIE DI TUTTO SIETE FANTASTICI!
robby87 è offline   Rispondi citando il messaggio o parte di esso
Old 04-06-2006, 16:03   #16
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Quote:
Originariamente inviato da robby87
evvai c sono riuscito!!! come faccio a stampare due valori con un:
JOptionPane.showMessageDialog??? cioè un valore c sono riuscito facendo così:
JOptionPane.showMessageDialog( null,"La distanza tra le due date è di giorni:"+dist_gg);

ma come faccio a stampare il valore di due variabili in un unica finestra?? GRAZIE DI TUTTO SIETE FANTASTICI!
Spero di aver capito bene, in caso contrario perdonami.
Devi semplicemente ripetere la stessa cosa:

JOptionPane.showMessageDialog (null, "La distanza e' di " + dist_gg + " giorni, di " + dist_mm + " mesi, " + dist_yy + " anni");

High Flying
Sottovento
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 04-06-2006, 21:55   #17
robby87
Member
 
Iscritto dal: May 2005
Messaggi: 83
grazie...ho fatto tutto!!! grazie sottovento! sei mitico!! scusa se t ho fatto perdere tempo!!
robby87 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator Sony Alpha 7 V, anteprima e novità della ...
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1 realme GT 8 Pro Dream Edition: prestazioni da fl...
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum OVHcloud Summit 2025: le novità del cloud...
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI C...
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro DJI Neo 2 in prova: il drone da 160 grammi guada...
Il camion elettrico Semi è davver...
Instagram limita gli hashtag a tre per p...
Le migliori offerte Amazon del momento: ...
RTI e Medusa denunciano Perplexity AI: p...
Avviatori, compressori e accessori auto:...
Samsung Galaxy S26: un leak anticipa le ...
Windows 11, KB5070311 sistema e rompe la...
DJI Mini 3 con controller DJI RC al prez...
Horses riceve il ban anche da Epic: rifi...
Motore elettrico a flusso assiale di Yas...
India, la retromarcia dopo le polemiche:...
La Germania accende il suo colosso eolic...
Mega Risparmi Amazon Haul: fino al 60% s...
Samsung ha dominato il mercato degli sma...
PlayStation 5 in sconto: prezzo abbassat...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 13:14.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v