Java Calendar

2 respostas
Y
import java.util.*;
public class Calendario {
    public static void main(String[] args) {
            Date d = new Date();
        Calendar c = Calendar.getInstance();
        c.setTime(d);
        System.out.println(d);
        if(c.MONDAY == c.getFirstDayOfWeek())
        System.out.println("Primeiro dia da semana Segunda");
        System.out.println("Dia da semana     "+ c.get(c.DAY_OF_WEEK));
    }

}

Tem como saida:
Thu Dec 09 12:29:24 BRST 2010
Primeiro dia da semana Segunda
Dia da semana 5
______________________________________________________________-
Poderiam me explicar porque tenho como resultado dia da semana"5" e nao 4?

grato.

2 Respostas

Eric_Yuzo

Por que a semana começa a ser contada de domingo: http://download.oracle.com/javase/6/docs/api/java/util/Calendar.html#DAY_OF_WEEK

Estas constantes começam com SUNDAY = 1 e vão até SATURDAY = 7. Portanto THURSDAY (hoje, quinta-feira) é 5: http://download.oracle.com/javase/6/docs/api/constant-values.html#java.util.Calendar.DAY_OF_WEEK

Está tudo especificado na documentação.

Eric_Yuzo

Estava lendo a pergunta de novo e entendi o porque da dúvida. É por causa do retorno do método “getFirstDayOfWeek”, certo?

O método getFirstDayOfWeek retorna o primeiro dia da semana para a instância, mas o valor retornado pelo método get é uma constante definida na classe Calendar, que possui os valores que descrevi no post acima. Estes valores não dependem de qual é o primeiro dia da semana.

Criado 9 de dezembro de 2010
Ultima resposta 9 de dez. de 2010
Respostas 2
Participantes 2