package lab4;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;

/*afficheur de date et de jour
 * par Martin Robinson
Créez une classe AfficheDateJour qui affichera la date du jour et
l’heure dans le main. (en français !).  Vous devrez mettre les noms
des mois dans un tableau. Utiliser un tableau standard et remplacer
le ensuite par un ArrayList. Le package java.util contient la classe
Calendar qui gère les dates et les heures.
 * */
public class AfficheDateJour {
	/*properties*/
	private final static Calendar _cal = Calendar.getInstance();
	private final static ArrayList<String> _nomMois = new ArrayList<String>();
	private final static String[] _nomJours = {
		"Dimanche",
		"Lundi",
		"Mardi",
		"Mercredi",
		"Jeudi",
		"Vendredi",
		"Samedi"
	};
	private final static SimpleDateFormat _heures = new SimpleDateFormat("HH:mm:ss");

	/*constructor*/
	private AfficheDateJour(){
		String [] tmp = {
				"Janvier",
				"Fevrier",
				"Mars",
				"Avril",
				"Mai",
				"Juin",
				"Juillet",
				"Aout",
				"Septembre",
				"Octobre",
				"Novembre",
				"Decembre"
		};
		for (int i=0;i<12;i++)
			_nomMois.add(tmp[i]);
	}

	/*getter*/
	public String getNomMois(){
		return _nomMois.get(_cal.get(Calendar.MONTH));
	}

	public String getNomJours(){
		return _nomJours[_cal.get(Calendar.DAY_OF_WEEK)];
	}

	public int getNoJours(){
		return _cal.get(Calendar.DAY_OF_MONTH);
	}

	public String getTime(){
		return _heures.format(_cal.getTime());
	}

	/*main*/
	public static void main(String [] args){
		AfficheDateJour tmp = new AfficheDateJour();
		System.out.println(tmp.getNoJours() + " " + tmp.getNomMois());
		System.out.println(tmp.getNomJours());
		System.out.println(tmp.getTime());
	}
}
