2009-09-12 3 views
0

Je fais un devoir et il implique l'utilisation du GregorianCalendar. Les spécifications indiquent que je dois utiliser setLenient (false); Comment puis-je faire cela? J'ai aussi besoin de fixer une date constante (1/1/2009) pour que le premier jour de mon programme soit toujours celui-là.GregorianCalendar

Il dit aussi accéder au jour, mois et année par ceci:

get(1) //returns the year 
get(2) // returns the month 
get(5) /// returns the day 

Pour ajouter n jours à la date, appelez la méthode d'ajout d'un numéro de champ 5: ajouter (5, n) ;

Pour soustraire: add (5, -n); Est-ce que quelqu'un peut expliquer ce que cela signifie et comment l'implémenter?

Répondre

1

Créez une instance de Calendrier et appelez setLenient.

Calendar cal = Calendar.getInstance(); 
cal.setLenient(false); 

int month = cal.get(Calendar.MONTH); 

MISE À JOUR:

Et puisque vous ne parlez SimpleDateFormat dans votre commentaire, voici un exemple pour elle aussi:

Date today = cal.getTime(); 
DateFormat formatter = new SimpleDateFormat("yyyy-MMM-dd"); 
System.out.println(formatter.format(today)); 

Java Almanac est une bonne source pour des exemples simples d'extrait de code comme ceux-ci .

+0

-je utiliser le calendrier grégorien cependant, que l'utilisation isnt SimpleDateFormat? – Karen

+0

Si le calendrier par défaut pour votre fuseau horaire est Grégorien, vous l'utilisez. – duffymo

3

Commencez par visiter les documents de l'API here. Ces documents expliquent exactement quelles méthodes sont disponibles dans une classe en Java.

Pour obtenir un calendrier par exemple, vous pouvez:

Calendar c = Calendar.getInstance(); 

Vous verrez dans les documents qu'il ya effectivement un certain nombre de façons d'obtenir un calendrier et la valeur par défaut est un GregorianCalendar. Une fois que vous avez l'objet Calendar, vous pouvez appeler n'importe quelle méthode en transmettant les paramètres nécessaires. Par exemple,

c.setLenient(true); 

Pour utiliser les méthodes get, vous devez spécifier le champ que vous souhaitez obtenir.

int month = c.get(Calendar.MONTH); 

et ainsi de suite.