2015-10-02 1 views
1

Je suis confus au sujet de la façon dont un calendrier grégorien associe des jours avec des nombres. Pour des exemples, j'instancier un objetCalendrier grégorien Date Confusion

GregorianCalendar cal = new GregorianCalendar(); 
Toast.makeText(context, "Day: " + cal.DAY_OF_WEEK, Toast.LENGTH_LONG).show(); 

Mes messages toast permet de rester dispalying "jour: 7"

Aujourd'hui est le vendredi, en supposant que dimanche = 0, ne devrait pas l'affichage du texte "Jour: 5"?

Il fonctionne quand je fais ce qui suit:

int current day = cal.get(Calendar.DAY_OF_WEEK) 

Quelqu'un peut-il expliquer pourquoi? Je vous remercie.

+0

http://stackoverflow.com/a/14448029/5202007 – Tauqir

Répondre

1

La raison pour laquelle vous obtenez un 7 avec cal.DAY_OF_WEEK, est que vous demandez en fait la valeur de la constante nommée DAY_OF_WEEK et la valeur de ce champ est 7. Voir here. En d'autres termes, cal.DAY_OF_WEEK est vraiment équivalent à Calendar.DAY_OF_WEEK.

Vous obtenez la bonne réponse avec cal.get(Calendar.DAY_OF_WEEK), car vous demandez alors la valeur du champ DAY_OF_WEEK de cal.