Programmation orientée objet
Licence d'Informatique - Année 2003/2004
TP n°3
Dates (Notions préliminaires) :
java.util
Date : classe traditionelle, la plupart des méthodes sont "deprecated".
Calendar : implémente la plupart des méthodes de Date, classe abstraite
GregorianCalendar : sous-classe de Calendar, implémente le calendrier solaire.
Date date = new Date(); // Date courante
Date date = new Date(long d); // Date d en ms après le 1/1/70
Calendar calendar = Calendar.getInstance();
GregorianCalendar calendar = new GregorianCalendar(int year,int month,int day);
calendar.set(int year,int month,int day);
calendar.setTime(Date date); // pour passer de Date à Calendar
Date date = calendar.getTime(); // Dans l'autre sens
Date :
boolean after(Date when);boolean before(Date when);boolean equals(Object obj);Calendar : même méthodes mais abstraites.
GregorianCalendar : même méthodes mais implémentées.
Calendar : rien
Date : String toString()
GregorianCalendar : GregorianCalendar gc; gc.getTime().toString();
java.util for Locale et
java.text for DateFormat
Locale fournit essentiellement des constantes statiques pour identifier des langages et des pays. Exemple : Locale.FRENCH, Locale.US
DateFormat, classe abstraite, fournit un formateur de dates dépendant d'une instance de Locale qui peut être obtenu par la méthode statique : getInstance(int style,Locale aLocale); L'argument style est une constante statique de la classe DateFormat : DEFAULT, FULL, LONG, MEDIUM ou SHORT.
Date today;
String dateOut;
DateFormat dataFormatter;
dateFormatter = DateFormat.getDateInstance(DateFormat.LONG,Locale.FRENCH);
today = new Date();
dateOut = dateFormatter.format(today);
add : dans Calendar, abstract void add(int champ,int quantité);
ajoute ou soustrait quantité au champ : année, mois, jour en passant au champ suivant si nécessaire. Les champs sont des variables entières statiques de la classe Calendar. Par exemple : DAY_OF_YEAR, DAY_OF_WEEK, DAY_OF_MONTH, MONTH));