"Je me suis souvenu que je voulais vous parler un peu du travail avec les dates."

"Vous m'avez déjà dit que Java a la classe Date, et je peux utiliser cette classe pour travailler avec des dates."

"Hmm. Eh bien, la classe Date est obsolète depuis un moment."

"Maintenant, il est recommandé d'utiliser à la place la classe Calendar, qui a une méthode getTime() qui renvoie la date actuelle."

"Ceci est un objet Calendrier qui est généralement créé :"

Créer un objet Calendrier
Calendar cal = Calendar.getInstance();

"Lorsque vous appelez cette méthode, le calendrier correct est créé en fonction des paramètres de votre ordinateur."

"Le "bon" calendrier ? Est-ce que ça veut dire qu'il y en a plusieurs ?"

"Ouais. Eh bien, il serait plus exact de dire 'pertinent'. Le fait est que la Terre n'a pas un, mais plusieurs calendriers. Presque chacun d'entre eux est associé à une religion ou à un pays."

"L'année peut être différente selon le pays dans lequel vous vous trouvez."

"Voici des exemples des calendriers les plus courants."

Cours de calendrier Nom du calendrier
Calendrier Grégorien Calendrier grégorien chrétien
BouddhisteCalendrier Calendrier bouddhiste
JapaneseImperialCalendrier Calendrier impérial japonais

"Il y a aussi le calendrier chinois, le calendrier islamique et bien d'autres."

"Je vois."

"Pour obtenir la date actuelle, vous devez écrire un code comme celui-ci :"

Obtenir l'heure actuelle
Calendar cal = Calendar.getInstance();
Date date = cal.getTime();

"La classe Calendar a de nombreuses méthodes qui vous permettent d'obtenir rapidement des informations sur une date et une heure."

Code commentaires
Calendar calendar = Calendar.getInstance();

int era = calendar.get(Calendar.ERA);
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);

int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
int hour = calendar.get(Calendar.HOUR);
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
ère 
année 
mois 
jour du mois

jour de la semaine (Lun, Mar, Mer, …)
heure 
minute 
seconde

"Parfois, vous n'avez vraiment besoin que d'une partie des informations disponibles. Par exemple, l'année en cours ou le jour de la semaine."

"Mais parfois, vous avez simplement besoin d'afficher la date dans le bon format."

"Par exemple, dans le fichier journal ou ailleurs."

« Ou créez un format que l'utilisateur peut personnaliser. Que faites-vous alors ? »

"Il existe également des classes spéciales pour cela. La classe SimpleDateFormat est parfaitement adaptée à la tâche que vous avez décrite :"

Comment afficher une date au format souhaité
Calendar calendar = Calendar.getInstance();

DateFormat formatter = new SimpleDateFormat("MM-DD-YY");

String message = formatter.format(calendar.getTime());

"Ah. Je me souviens. Vous m'avez déjà expliqué certaines choses sur SimpleDateFormat , mais honnêtement, je ne me souviens pas de grand-chose."

"C'est très simple. Vous créez un objet SimpleDateFormat et lui transmettez le modèle de date que vous souhaitez obtenir. Ensuite, vous appelez la méthode format, et elle vous donne la date passée sous la forme souhaitée."

"Ça a l'air intéressant. J'aimerais plus de détails."

"Voilà. Les détails. Voici quelques-unes des lettres qui peuvent être utilisées dans le modèle de date :"

Lettre Description
g Remplacé par l'époque (AD ou BC)
y Remplacé par l'année
M Remplacé par le mois
w Nombre de semaine dans l'année
O Nombre de semaines dans le mois
D Nombre de jours dans l'année
d Jour du mois
F Jour de la semaine dans le mois
E Jour de la semaine
un AM/PM (avant ou après midi)
H Heure au format 24 heures (0-23)
k Heure au format 24 heures (1-24)
K Heure au format 12 heures (0-11)
h Heure au format 12 heures (1-12)
m Minutes
s Secondes
S Millisecondes
z Fuseau horaire, formaté comme ceci : Pacific Standard Time, PST
Z Fuseau horaire, formaté comme ceci : -0800/td>

« Cool ! C'est à peu près tout ce dont tu as besoin.

"Il y a encore quelques nuances liées à la répétition de ces lettres."

"Si vous écrivez YY, vous obtiendrez les deux derniers chiffres de l'année. Si vous écrivez AAAA, vous obtiendrez les quatre chiffres de l'année."

"Il y a aussi une certaine complexité avec les mois. MM est le numéro du mois. MMM est une abréviation à trois lettres du mois, c'est-à-dire Jan, Feb, Mar, Apr, May, etc. MMMM représente le nom complet du mois. ."

"Vous pouvez également afficher le jour complet de la semaine (en utilisant EEEE) ou seulement les deux premières lettres (en utilisant EE)."

"Merci, Rishi. Cette classe SimpleDateFormat est vraiment utile. Maintenant je sais."

"Profitez-en ! Et bonne chance !"