Date, Calendar, GregorianCalendar, SimpleDateFormat

Slides:



Advertisements
Presentazioni simili
Mole e Numero di Avogadro
Advertisements

Process synchronization
Dipartimento Tecnico e delle Tecnologie - 24 Gennaio 2013 Pag. 1.
Costruttori e Distruttori
Sistemi di numerazione
Informatica Generale Marzia Buscemi
1 Informatica Generale Susanna Pelagatti Ricevimento: Mercoledì ore presso Dipartimento di Informatica, Via Buonarroti,
Liste Ordinate 3 Maggio Ultima Lezione Abbiamo visto i tipi di dato astratti IntList e StringList Realizzano liste di interi e di stringhe Realizzati.
LIP: 1 Marzo 2005 Classe Object e Vettori. Partiamo da Lesercizio dellultima esercitazione realizzato tramite array Vedremo come si puo fare in modo piu.
Laboratorio Matematica e Informatica
Fusi orari.
1 Università della Tuscia - Facoltà di Scienze Politiche.Informatica 2 - a.a Prof. Francesco Donini Date in Javascript.
1 Università della Tuscia - Facoltà di Scienze Politiche.Informatica 2 - a.a Prof. Francesco Donini Variabili in Javascript.
L’elasticità della domanda rispetto al “proprio prezzo”
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Stringhe e tipi di dati strutturati Marco D. Santambrogio – Ver. aggiornata al.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 2: 25 Marzo 2013 Marco D. Santambrogio – Gianluca Durelli -
LICEO SCIENTIFICO STATALE “LEONARDO da VINCI” di FIRENZE
Corso di Informatica (Basi di Dati)
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.
1 Corso di Informatica (Programmazione) Lezione 13 (21 novembre 2008) Programmazione in Java: stringhe e array.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) JAVA: funzione di output a video Anno Accademico 2009/2010.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Le stringhe di caratteri in Java Anno Accademico 2009/2010.
Corso di Informatica (Programmazione)
1 Lezione XIII Lu 17-Nov-2005 Programmare le classi.
A cura prof. Giovanni Raho Per gli studenti di Scienze psicologiche 01/05/ © prof. Giovanni raho.
Istruzioni di selezione in Java Programmazione Corso di laurea in Informatica.
INFORMATICA Esercizi.
Struct, enum, Puntatori e Array dinamici
SQL SQL (pronunciato anche come l’inglese sequel) è l’acronimo di Structured Query Language (linguaggio di interrogazione strutturato) E’ un linguaggio.
Ciao capitolo 13.3 Compito. compito Ciao capitolo 13.2 Text.
Foglio elettronico Excel Livello avanzato
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
Elementi di Informatica di base
Piano di lavoro a.s Collegio docenti: Date da definire 4 settembre mercoledì 20settembre venerdì 23 ottobre martedì 28 novembre venerdì 13 dicembre.
PORRE E RISOLVEREPROBLEMI PORRE E RISOLVERE PROBLEMI il testo e i dati Vai avanti.
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA INTERMEDIA DEL 12 MARZO 2007 NOME: COGNOME: ________________________________________________________________________________.
© M. Badella, G. Malnati, L. Tessitore Programmazione ad Oggetti A.A GESTIONE DEL TESTO.
Piano delle attività Anno scolastico 2012/13 Anno scolastico 2012/13.
1 Incapsolamento (intro) Sandro Pedrazzini Approfondimento Incapsolamento (introduzione)
Fopndamenti di programmazione. 2 La classe String Una stringa è una sequenza di caratteri La classe String è utilizzata per memorizzare caratteri La classe.
Corso JAVA Lezione n° 11 Istituto Statale di Istruzione Superiore “F. Enriques”
Corso JAVA Lezione n° 12 Istituto Statale di Istruzione Superiore “F. Enriques”
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA INTERMEDIA DEL 12 MARZO 2007 NOME: COGNOME: ________________________________________________________________________________.
Corso di Programmazione in Java – Esercizio n° 001
Le eccezioni F. Bombi 01/11/ Errori e situazioni impreviste situazioni eccezionali In un programma situazioni eccezionali possono.
JavaScript Oggetti. Linguaggio a oggetti Alice Pavarani2  JavaScript è Object Oriented  Sono presenti oggetti predefiniti del linguaggio  E’ possibile.
Le variabili in Java Nella programmazione tradizionale, una variabile è una porzione di memoria in cui è immagazzinato un certo tipo di dato. Per esempio.
Che ora e’/ Che ore sono?.
IL CALENDARIO: I MESI e I GIORNI
Madama Chiara - Regole di Quotatura con esempi
lun mar mer gio ven SAB DOM FEBBRAIO.
1/11/2015E. Giovannetti -- OI09.1 Olimpiadi di Informatica 2010 Giornate preparatorie Dipartimento di Informatica Università di Torino marzo –
La misura del tempo.
Politecnico di Milano Corso di Sistemi Informatici A.A. 2004/2005 Access™ Le Query Luca De Ponti Lucidi realizzati.
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
Programmazione ad oggetti
Calendario delle attività dal Piano Annuale
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3: 31 Marzo 2014 Marco D. Santambrogio – Gianluca Durelli –
Tipi primitivi in java tipodefaultmem.daa booleanfalse1 bittrue false char'\u0000'16 bit byte08 bit short016 bit int032 bit-2^312^31-1.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 6 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
I GIORNI DELLA SETTIMANA
Javascript e le date Esiste un oggetto Date() Di default, un oggetto Date contiene la data e l'ora corrente Ci sono vari metodi get per avere informazioni.
Il Calendario.
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
LIP: 22 Marzo 2005 Eccezioni. Eccezioni-Richiami Come si definiscono eccezioni Come si lanciano Come si gestiscono (gestione esplicita o di default)
1 Laboratorio di Introduzione alla Programmazione §II MODULO §3 crediti §Esame e voto unico (su 6 crediti totali)
Codifica binaria dell’informazione
Polaris office su asus Eee Foglio elettronico icona17 funzioni data-ora e numeri seriali.
Il Calendario.
Polaris office su asus Eee Foglio elettronico icona17 varia funzioni data-ora descrizione numeri seriali per anno e ora.
Transcript della presentazione:

Date, Calendar, GregorianCalendar, SimpleDateFormat Le date in java Date, Calendar, GregorianCalendar, SimpleDateFormat

classi obsolete la classe Date è obsoleta.. è stata sostituita dalla classe astratta Calendar Possiamo utilizzare una classe derivata da Calendar, la GregorianCalendar le date è un tipo di dato molto complesso, non deve quindi stupire che ci siano state storicamente delle classi che ora non vengono più usate

GregorianCalendar data = new GregorianCalendar() Utilizzando il costruttore senza parametri si ottiene un oggetto che contiene tutti i parametri relativi al momento attuale, dall’anno (che può essere bisestile o no) al millisecondo GregorianCalendar data = new GregorianCalendar() Legge la data e l’ora della macchina e la ripropone secondo il fuso orario di sistema.

data.get(GregorianCalendar.YEAR) Come leggere la data Esiste il metodo get( ) che ha come parametro un intero. La classe GregorianCalendar eredita da Calendar numerose costanti, che possono essere utilizzate con il metodo get Esempio: data.get(GregorianCalendar.YEAR) restituirà l’anno della data (es: 1985)

Come leggere la data con .get(..) in particolare: Calendar.YEAR anno Calendar.MONTH mese, ma attenzione parte da 0=gennaio, 11=dicembre!! Calendar.DATE o Calendar.DAY_OF_MONTH giorno del mese (da 1 a 31)

Come leggere la data con .get(..) Calendar.DAY_OF_WEEK giorno della settimana, attenzione: 1= domenica, 2=lunedì, …. 7=sabato Calendar.DAY_OF_YEAR giorno del’anno da 1 a 365 (o 366 se l’anno è bisestile) per sapere se un anno è bisestile si può usare il metodo di un qualsiasi oggetto di classe Calendar .isLeapYear( anno )

Leggere l’ora con .get( ) Calendar.HOURS ora compresa tra 0 e 11: Calendar.AM_PM restituisce 0=am e 1=pm Calendar.HOUR_OF_DAY ora compresa tra 0 e 23 Calendar.MINUTE minuti da 0 a 59 Calendar.SECOND secondi da 0 a 59 Calendar.MILLISECOND millisecondi (0- 999)

Costruire una data Abbiamo visto che il costruttore vuoto crea un oggetto data con i valori del momento Volendo creare una data qualsiasi è sufficiente utilizzare il costruttore con alcuni argomenti (3,5 o 6 interi) GregorianCalendar gc = new GregorianCalendar(anno, mese, giorno) GregorianCalendar gc = new GregorianCalendar(anno, mese, giorno, ora, minuti) GregorianCalendar gc = new GregorianCalendar(anno, mese, giorno, ora, minuti, secondi) ATTENZIONE: il mese è sempre compreso tra 0 e 11 !! Per non confondersi si possono usare le costanti Calendar.JANUARY, Calendar. FEBRUARY, ecc.

Altri metodi .getTime( ) resituisce un ogetto Date, se si prova a stamparlo si ottiene una stringa tipo Thu Jan 31 18:30:24 CET 2013 .getTimeInMillis( ) restituisce un intero (long) che esprime la data in millisecondi

Confronto tra date data1.after( data2 ) data1 < data2 data1.equals( data2 ) data1 = data2 data1.before( data2 ) data1 > data2 nota: se inserisco solo la data si intende alle ore 00:00.0

Classe SimpleDateFormat La classe SimpleDateFormat nasce per semplificare l’utilizzo della data, risolvendo alcuni problemi riguardanti l’input e l’output In pratica questo oggetto permette di gestire date espresse con nomi di mesi o di giorni Nel costruttore si definisce il modello, utilizzando delle convenzioni. Es: SimpleDateFormat formato = new SimpleDateFormat("EEEE d MMMM yyyy HH:mm.ss")

Classe SimpleDateFormat d o D esprime il numero del giorno del mese (0-31 o 00-31 con dd) M esprime il mese: M: 1-12, MM: 01-12 MMM: gen-dic MMMM: gennaio-dicembre y esprime l’anno con due cifre yyyy esprime l’anno con quattro cifre

Classe SimpleDateFormat E esprime il giorno della settimana con 3 lettere (dom, lun, …) EEEE esprime il giorno della settimana domenica, lunedì, … w settimana nell’anno 1-52, ww:01-52 W settimana nel mese 1-6

Classe SimpleDateFormat h esprime l’ora 1-12 hh: 01-12 H esprime l’ora 0-23 hh: 00-23 k esprime l’ora 1-24 kk: 01-24 K esprime l’ora 0-11 KK: 00-11 m esprime i minuti 0-59, mm:00-59 s esprime i secondi 0-59, ss:00-59 S esprime i millisecondi SSS a esprime AM o PM

Stampiamo la data col formato definire il formato ( costruttore della classe SimpleDateFormat) creare una data (costruttore della classe GregorianCalendar) utiliziamo il formato (metodo format dell’oggetto di classe SimpleDateFormat che vuole come parametro un oggetto di classe Date Per avere un oggetto di classe Date occorre utilizzare il metodo getTime dell’oggetto di classe GregorianCalendar SimpleDateFormat formato = new SimpleDateFormat("EEEE d MMMM yyyy HH:mm.ss"); GregorianCalendar adesso = new GregorianCalendar(2007,3,2,2,45,7); System.out.println( formato.format( adesso.getTime() )); stamperà a video: lunedì 2 aprile 2007 02:45.07

Acquisizione di una data La classe SimpleDateFormat espone un comodo metodo .parse( s ) che riceve una stringa di testo e restituisce un oggetto di tipo Date. volendo poi convertire una data dal tipo Date a Calendar, esiste il metodo setTime di Calendar al quale può ricevere direttamente il tipo Date

Esempio String sFormato = "EEEE d MMMM yyyy HH:mm.ss"; String sDataScritta = "mercoledì 30 marzo 2013 13:32.00"; SimpleDateFormat objFormato = new SimpleDateFormat(sFormato); Date dataClasseDate = objFormato.parse(sDataScritta); GregorianCalendar dataClasseGC = new GregorianCalendar(); dataClasseGC.setTime(dataClasseDate);

Aggiungere o sottrarre alle date usando GregorianCalendar esiste il metodo add( cheCosa, quantità ) questo metodo non restituisce nulla, ma lavora sulla data in cheCosa si possono utilizzare le costanti della classe Calendar già viste quantità può essere positiva o negativa GregorianCalendar oggi = new GregorianCalendar(); GregorianCalendar tra2giorni = new GregorianCalendar(); tra2giorni.add( Calendar.DAY_OF_MONTH, 3);

Differenza tra date Di solito si prendono le due date espresse in millisecondi, ad esempio con il metodo . getTimeInMillis( ) degli oggetti di classe GregorianCalendar Quindi si ha come differenza un valore d in millisecondi… secondi = d/1_000; minuti = d/60_000; ore = d / 3_600_000; giorni = d / 86_400_000;

.getTime(..) e .getTime(..) Una precisazione: il metodo .getTime di un oggetto GregorianCalendar restituisce un oggetto di classe Date il metodo .getTime di un oggetto Date restituisce il numero di millisecondi dal 1/1/1970 La classe Date è deprecata!!