View Full Version : [JAVA] Help.. addizionare dei giorni a una data .. e confrontarla con quell'attuale.
allora ho un'array di stringhe .. e devo addizionare la data prendendo la data in un campo e i giorni in un altro campo.
e dopo devo fare il confronto di questa data con quella attuale..
su google ho trovato:
dateadd per addizionare la data
CompareTo per confrontare 2 date
e c.getTime() per vedere la data attuale
questi devo usare ? e come nn ci riesco ... :(
Perchè usi un array di stringhe? Non sarebbe meglio strutturare l'informazione in degli oggetti Date tramite un DateFormat?
http://java.sun.com/j2se/1.4.2/docs/api/java/util/Date.html
http://java.sun.com/j2se/1.4.2/docs/api/java/text/DateFormat.html
Oceans11
19-10-2008, 21:40
allora ho un'array di stringhe .. e devo addizionare la data prendendo la data in un campo e i giorni in un altro campo.
Scusa ma non ho capito...puoi essere più preciso?
e dopo devo fare il confronto di questa data con quella attuale..
su google ho trovato:
dateadd per addizionare la data
CompareTo per confrontare 2 date
e c.getTime() per vedere la data attuale
questi devo usare ? e come nn ci riesco ... :(
Dunque, la classe Date di java.util offre il metodo compareTo(Date anotherDate) che confronta temporalmente 2 date. Questa classe tratta il tempo in modo particolare però, come i millisecondi passati dalla mezzanotte del 1 gennaio 1970 GMT. Tutti gli altri metodi sono deprecati in favore di Calendar.
La classe GregorianCalendar (sempre java.util) è una diretta sottoclasse di Calendar e offre metodi per impostare, aggiungere, ottenere ora/data.
In più il metodo getTime() restituisce una Date, con cui puoi fare il confronto.
EDIT: il metodo compareTo ce l'ha anche Calendar, quindi non serve passare per Date.
data attuale risolto
Date oggi = new Date();
String formatoData = "dd/MM/yyyy";
SimpleDateFormat formattazioneData = new SimpleDateFormat(formatoData);
String dataAttuale = formattazioneData.format(oggi);
CompareTo
lo vediamo dopo .
PROBLEMA ATTUALE
ho un array di stringhe. di nome Noleggi.
il terzo elemento (Noleggi[2]) è una stringa di questo tipo (gg/mm/aaaa)
per esempio : 25/10/2008
adesso devo convertire questa stringa in data . (tipo Date)
e mi da errore.
ho provato così :
String formatoData="dd/MM/yyyy"
SimpleDateFormat StringaToData = new SimpleDateFormat(formatoData) Date dataConvertita = null;
dataConvertita = StringaToData.parse(lineaNoleggi[2]); //errore
ma mi da errore al terzo rigo. mi dice:
Unhandled exception type ParseException
dopo aver fatto ciò . devo addizzionare un numero di giorni a questa data .
esempio : 25/10/2008 + 10 giorni = 4/11/2008
:help: :(
domani entro le 11 dovrei consegnare il progetto
Oceans11
19-10-2008, 22:57
Vedi se questo può andarti bene:
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
Calendar c = Calendar.getInstance();
System.out.println(dateFormat.format(c.getTime()));
String dataACaso = "25/10/2008";
try {
c.setTime(dateFormat.parse(dataACaso));
}
catch (ParseException e) {
e.printStackTrace();
}
System.out.println(dateFormat.format(c.getTime()));
c.add(Calendar.DAY_OF_MONTH, 10);
System.out.println(dateFormat.format(c.getTime()));
l'errore stava nel fatto che non gestivi la ParseException.
Oceans11
19-10-2008, 23:00
Non per fare il pignolo, ma un array di stringhe che si chiama noleggi, il cui 3 elemento è una cosa che rappresenta una data, mi sembra proprio un ammucchio di dati eterogenei.....:D
ho letto adesso i messaggi..
Vedi se questo può andarti bene:
codice:...
l'errore stava nel fatto che non gestivi la ParseException.
feci anche così prima che me lo dicessi .. ma mi dava cmq errore nella ParseException...
Non per fare il pignolo, ma un array di stringhe che si chiama noleggi, il cui 3 elemento è una cosa che rappresenta una data, mi sembra proprio un ammucchio di dati eterogenei.....:D
Beh vallo a dire al prof .. la traccia è così .. :muro:
Cmq infine ieri mi scocciai ... persi due ore a capire come far funzionare quei comandi .. gregorian e simpledateformat.. e a finale in 40 minuti mi scrissi le due funzioni manualmente .. e le richiamo dove mi servono ..
Grazie lo stesso
Bye Bye
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.