Descobrir dia da semana

Pessoal,

Alguém sabe como eu faço em J2ME para pegar o dia da semana a partir da data atual?

Aguardo sugestões
Obrigago!

Seta a data em um Calendar, e pega o DAY_OF_WEEK

http://java.sun.com/javame/reference/apis/jsr118/java/util/Calendar.html#DAY_OF_WEEK

Opa,

Pode fazer algo parecido com o exemplo abaixo.

Utilizando o Calendar de preferencia pois é a implementação nova do Date

//Implementação antiga funciona mas já é recomendado a utilização do Calendar.
switch (new Date().getDay()) {
   case 0:
      System.out.println("Domingo");
      break;
   case 1:
      System.out.println("Segunda-feira");
      break;
   case 2:
      System.out.println("Terça-feira");
      break;
   case 3:
      System.out.println("Quarta-feira");
      break;
   case 4:
      System.out.println("Quinta-feira");
      break;
   case 5:
      System.out.println("Sexta-feira");
      break;
    case 6:
      System.out.println("Sábado");
      break;
    default:
      System.out.println("A casa caiu criaram outro dia de semana!");
      break;
}
		
		
//Nova implementação 
Calendar cal = new GregorianCalendar();
switch (cal.get(Calendar.DAY_OF_WEEK)) {
   case 1:
      System.out.println("Domingo");
      break;
   case 2:
      System.out.println("Segunda-feira");
      break;
   case 3:
      System.out.println("Terça-feira");
      break;
   case 4:
      System.out.println("Quarta-feira");
      break;
   case 5:
      System.out.println("Quinta-feira");
      break;
   case 6:
      System.out.println("Sexta-feira");
      break;
   case 7:
      System.out.println("Sábado");
      break;
   default:
      System.out.println("A casa caiu criaram outro dia de semana!");
      break;
}

O código vicou estranho mais isso é apenas um exemplo :stuck_out_tongue:

Espero ter ajudado.
Abraço

Legal pessoal…

Problema resolvido!!

Muito obrigado pelas sugestões
Abraços

Como você resolveu com o Calendar ou com a montuera de cases?

hehehehehe

essa “montuera de cases” é a solução utilizando o calendar, pois ele te retorna um int, aí vc tem mostrar a string

abraços!!

pessoal, me surgiu uma outra dúvida agora:

como eu passo uma outra data para o Calendar pegar o dia da semana sem que seja a data atual?

aguardo sugestões!
obrigado

Você não se ajuda né…
Tem que ler a documentação da classe, para isto q ela foi feita.
Tá lá, o método set deve ser usado.

seta seu obejto Date no Calendar
tipo:
Calendar cal = cal.getInstance();
cal.setTime(Date());

[quote=vfmartins]pessoal, me surgiu uma outra dúvida agora:

como eu passo uma outra data para o Calendar pegar o dia da semana sem que seja a data atual?

aguardo sugestões!
obrigado

[/quote]

Sabe pegar a data da semana certo? Basta setar a data no calendar e depois pegar o dia da semana.

Calendar calendar = Calendar.getInstance(); calendar.setTime(suaData); // resto da sua implementação

Lembra que “suaData” deve ser do tipo java.util.Date.
Abraços.

[quote=boone]Você não se ajuda né…
Tem que ler a documentação da classe, para isto q ela foi feita.
Tá lá, o método set deve ser usado.[/quote]
++

pessoal, eu estou pesquisando, também procurei documentação, não é por comodismo, mas não estou sabendo como passar minha data para o calendar.setTime(suaData);

obs, minha data vem de uma string “12-02-2010”

como eu faço?

agradeço novamente

use o metodo parse da classe SimpleDateFormat

http://java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html#parse(java.lang.String,%20java.text.ParsePosition)

até onde eu sei, o jme nao tem a classe SimpleDateFormat.
Faz o parse na mao mesmo, setando os valores direto no seu Calendar.

[quote=godinez]até onde eu sei, o jme nao tem a classe SimpleDateFormat.
Faz o parse na mao mesmo, setando os valores direto no seu Calendar.
[/quote]

Obrigado, estou tentando fazer assim.
Vc sabe me dizer como é o formato que os valores da string devem ser passados para setar no calendar?

Calendar não recebe strings. Ele requer que você passe os valores inteiros, já convertidos.

Volto a dizer, o método certo é set e não setTime. E é um inteiro q vc passa e não string !

kra, nao deveria, mas como já me ferrei em algumas coisas tbm e precisei de um grande help, vou te dar o peixe
segue o “pogzao” kkkkkk

//data = 12/02/2010 17:08:51
	public static Date getDateFormat(String data) {
	    Calendar cal = Calendar.getInstance();
	    int dia = Integer.parseInt(data.substring(0, 2));
	    int mes = Integer.parseInt(data.substring(3, 5));
	    int ano = Integer.parseInt(data.substring(6, 10));
	    int hora = Integer.parseInt(data.substring(11, 13));
	    int min = Integer.parseInt(data.substring(14, 16));
	    int seg = Integer.parseInt(data.substring(17, 19));
	    cal.set(Calendar.DAY_OF_MONTH, dia);
	    cal.set(Calendar.MONTH, mes-1);
	    cal.set(Calendar.YEAR, ano);
	    cal.set(Calendar.HOUR_OF_DAY, hora);
	    cal.set(Calendar.MINUTE, min);
	    cal.set(Calendar.SECOND, seg);
	    return cal.getTime();
	}

Se ele não fizer o gol agora pela amor d D…

Eu faria assim para pegar o dia da semana, só uma sugestão pra evitar os cases:

String dias = new String[] {"Domingo"... "Sábado"};

public String diaDaSemana(Date date) {
   return dias[new Date().getDay()];
}

public String diaDaSemana(Calendar date) {
   return dias[cal.get(Calendar.DAY_OF_WEEK) - 1)];
}