[java] controllo data temporale

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
misterxxitalia
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 838
Iscrizione: domenica 11 marzo 2007, 22:15

Re: [java] controllo data temporale

Messaggio da misterxxitalia »

ti ringrazio di aver perso tempo per me!ho gia fatto una cosa molto simile(io c'ho messo un mese per fare quello che hai fatto tu in 5 min...ma io sto agli inizi!!)mi spiego meglio quale è il problema...

Codice: Seleziona tutto

public Date getData() {
    return data;
}
questo metodo che hai scritto anche tu mi fa ritornare una data.ora sto utilizzando una libreria nel progetto (jdom) che non accetta in ingresso date ma solo stringhe. ma come faccio a convertire tutto in stringhe se quello che ritorna è una data??capito quale è il problema?
Avatar utente
daemon_nio
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1012
Iscrizione: lunedì 15 gennaio 2007, 14:18
Sesso: Maschile
Località: London
Contatti:

Re: [java] controllo data temporale

Messaggio da daemon_nio »

Beh più o meno :D

Allora in Java ogni oggetto deriva dall'oggetto java.lang.Object.
Non so se hai già dato uno sguardo alla "derivazione" ma questo significa che ogni oggetto Java è anche un java.lang.Object quindi eredita tutte le variabili e tutti i metodi di Object.

Tra i metodi di Object ce n'è uno, che si chiama toString.

Questo significa che se hai un qualunque oggetto e vuoi trasformarlo in una stringa puoi scrivere myObject.toString()

Ora dipende tu che intendi. Se vuoi una stringa e basta puoi utilizzare questo metodo... se vuoi una stringa scritta in un particolare formato devi costruirtela.

Spero di essere stato chiaro. :)
Sempre costruendo qualcosa di nuovo: Matag: The Game
misterxxitalia
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 838
Iscrizione: domenica 11 marzo 2007, 22:15

Re: [java] controllo data temporale

Messaggio da misterxxitalia »

si infatti non da piu errore! se vado a stampare tutto quello che si trova nel nominativo data mi stampa null...forse qualche problema nel metodo setData??
misterxxitalia
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 838
Iscrizione: domenica 11 marzo 2007, 22:15

Re: [java] controllo data temporale

Messaggio da misterxxitalia »

ti ringrazio ora il metodo funziona!la classe SimpleDateFormat non permette di verificare se la data inserita è esistente vero?
Ultima modifica di misterxxitalia il giovedì 13 marzo 2008, 20:45, modificato 1 volta in totale.
Avatar utente
daemon_nio
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1012
Iscrizione: lunedì 15 gennaio 2007, 14:18
Sesso: Maschile
Località: London
Contatti:

Re: [java] controllo data temporale

Messaggio da daemon_nio »

Allora ho visto... la data esiste sempre perché la aggiusta un po'.

Esempio se metti 29/2/2007 (anno non bisestile) lui ti memorizza 1/3/2008

La stessa cosa se inserisci 40/1/2000 ti visualizza 9 giorni dopo il 31 gennaio, quindi 9 Febbraio 9/2/2000

In questo modo non esistono date errate... l'unico errore è quello nell'effettuare il parsing. Se non hai gg/MM/yyyy viene sollevata un'eccezione.
Sempre costruendo qualcosa di nuovo: Matag: The Game
misterxxitalia
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 838
Iscrizione: domenica 11 marzo 2007, 22:15

Re: [java] controllo data temporale

Messaggio da misterxxitalia »

un modo un po azzardato di usare le date..il problema xo che quello che mi viene stampato dopo è Fri Dec 02 00:00:00 CET 1988 e io la devo stampare in una data normale ovvero gg/mm/aaaa altrimenti quel dato non mi viene piu accettato...stavo vedendo che la stessa classe puo gestire anche le ore vero?il formato da inserire è kk:mm giusto?sulle librerie è riportato diversi modi di rappresentare le ore...
Ultima modifica di misterxxitalia il giovedì 13 marzo 2008, 23:03, modificato 1 volta in totale.
Avatar utente
daemon_nio
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1012
Iscrizione: lunedì 15 gennaio 2007, 14:18
Sesso: Maschile
Località: London
Contatti:

Re: [java] controllo data temporale

Messaggio da daemon_nio »

Sicuramente gestisce anche le ore... i formati li vedi sulla documentazione.

Te l'ho detto la funzione .toLocaleString() è deprecata non si usa più.
Ci sono classi migliori per stampare date. Tieni la documentazione Java alla mano e risolvi sicuramente il tuo problema. Ad esempio la classe Locale ti permette di impostare la data relativamente alle impostazioni del tuo computer... se sei inglese stampa saturday se sei italiano stampa sabato e così via.
Sempre costruendo qualcosa di nuovo: Matag: The Game
misterxxitalia
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 838
Iscrizione: domenica 11 marzo 2007, 22:15

Re: [java] controllo data temporale

Messaggio da misterxxitalia »

a me servirebbe che stampi nel formato gg/mm/aaaa quindi questa classe non va proprio bene giusto...ho provato la classe calendar ma con non pochi problemi...
Ultima modifica di misterxxitalia il venerdì 14 marzo 2008, 15:17, modificato 1 volta in totale.
Avatar utente
Massimo S.
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1931
Iscrizione: giovedì 28 settembre 2006, 14:34

Re: [java] controllo data temporale

Messaggio da Massimo S. »

daemon_nio ha scritto: Allora ho visto... la data esiste sempre perché la aggiusta un po'.
Mi pare che si puoi dire al SimpleDateFormat di essere più pignolo nell'accettare le date chiamando su di esso il metodo setLenient(false) o qualcosa del genere, vado a memoria


P.S. comunque SimpleDateFormat, oltre che per parsare le stringhe in date, può anche essere usato al contrario per stampare (trasformare in stringhe) le date nel formato voluto
Ultima modifica di Massimo S. il venerdì 14 marzo 2008, 16:53, modificato 1 volta in totale.
misterxxitalia
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 838
Iscrizione: domenica 11 marzo 2007, 22:15

Re: [java] controllo data temporale

Messaggio da misterxxitalia »

massimo non è il problema di accettare una stringa..il problema che se do in pasto una data esso me la traduce in Fri Dec 02 00:00:00 CET 1988....mentre io nn voglio che sia tradotta!
Avatar utente
Massimo S.
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1931
Iscrizione: giovedì 28 settembre 2006, 14:34

Re: [java] controllo data temporale

Messaggio da Massimo S. »

esempio

Codice: Seleziona tutto

Date date = new Date(); //si imposta alla data odierna
SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");
String strDate = df.format(date);
mi raccomando maiuscole quelle MM se no prende i minuti invece de mesi!
misterxxitalia
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 838
Iscrizione: domenica 11 marzo 2007, 22:15

Re: [java] controllo data temporale

Messaggio da misterxxitalia »

si si è MM ma la stringa la traduce in Fri Dec 02 00:00:00 CET 1988...
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 3 ospiti