Date constante du calendrier grégorien
-
06-07-2019 - |
Question
Ok, je veux que mon programme imprime la date: 01/01/2009
Mais voici ce qu'il affiche:
Jeu Jan 01 00:00:00 EST 2009
À partir de ce code
GregorianCalendar startDate = new GregorianCalendar(2009, Calendar.JANUARY, 1);
public void setStart()
{
startDate.setLenient(false);
Date date = new Date(startDate.getTimeInMillis());
System.out.println(date);
}
Comment puis-je le modifier pour qu'il ne soit imprimé que le 1/1/2009?
La solution
Utilisez SimpleDateFormat
:
GregorianCalendar startDate = new GregorianCalendar(2009, Calendar.JANUARY, 1);
public void setStart() {
startDate.setLenient(false);
DateFormat df = new SimpleDateFormat("d/M/yyyy");
df.format(startDate.getDate());
}
Vous appelez implicitement la méthode toString ()
qui affiche (correctement) le contenu complet.
Au fait, il n’est pas nécessaire de construire une date comme vous le faites. L'appel de getDate ()
sur un Calendrier
renvoie un objet Date
.
Autres conseils
Actuellement, le La méthode> Date.toString ()
est appelée pour afficher la représentation String
de la GregorianCalendar
instance.
Il faut créer un DateFormat
qui produira une représentation String
souhaitée. L'objet DateFormat
peut être utilisé pour formater une instance Date
au format souhaité, à l'aide de l'élément méthode format
.
Le moyen le plus simple de réaliser ce que vous souhaitez est d'utiliser le SimpleDateFormat
, qui a une constructeur qui prend une chaîne de format pour afficher la Date
sous la forme souhaitée.
Calendar calendar = new GregorianCalendar(2009, Calendar.JANUARY, 1);
DateFormat df = new SimpleDateFormat("M/d/yyyy");
System.out.println(df.format(calendar.getTime()));
Sortie
1/1/2009