Descobrir dia da semana

29 respostas
vfmartins

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!

29 Respostas

godinez

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

F

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

vfmartins

Legal pessoal…

Problema resolvido!!

Muito obrigado pelas sugestões
Abraços

kikostyle

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

vfmartins

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!!

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

P

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.

godinez
seta seu obejto Date no Calendar

tipo:

Calendar cal = cal.getInstance();

cal.setTime(Date());
nel

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

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.

kikostyle

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.

++

vfmartins

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

kikostyle

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)

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.

vfmartins

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.

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

T

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

P

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

godinez

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();
	}
P

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

andeb

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)];
}
P

Com certeza vc é um daqueles apressadinhos em responder que não notam que estão no fórum errado !

Caraca meu, este aqui é de J2ME !

A classe Date não possui o método getDay()…

O outro já tá com dúvida existencial dai me vem vc e quer dar mais nó na cabeça do cara…é fodis !

vfmartins

godinez:
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(); }

a cara, agora entendi, tem que setar separadamente dia mês e ano (essa era a dúvida)

obrigado pela ajuda!

agradeço tbm quem se dispor a ajudar

vfmartins

Pessoal,

os dois problemas que tive anteriormente foram solucionados, mas novamente vou aproveitar o tópico para tirar uma nova dúvida referente ao calendar.
É o seguinte: Eu preciso saber o dia do mês de sete dias atras. Eu subtrai a data atual por 7 e quando o dia é maior igual a 8 funciona corretamente, mas do contrario ele me traz um valor negativo.

Alguém sabe se existe essa possibilidade em JME? Se sim, sabem me dizer o que está errado no meu código??

fiz assim:

vfmartins

[quote=vfmartins]Pessoal,

os dois problemas que tive anteriormente foram solucionados, mas novamente vou aproveitar o tópico para tirar uma nova dúvida referente ao calendar.
É o seguinte: Eu preciso saber o dia do mês de sete dias atras. Eu subtrai a data atual por 7 e quando o dia é maior igual a 8 funciona corretamente, mas do contrario ele me traz um valor negativo.

Alguém sabe se existe essa possibilidade em JME? Se sim, sabem me dizer o que está errado no meu código??

fiz assim:

por sinal, isso também acontece ao contrário, ou seja, se eu quizer saber que qual será o dia do mês daqui 7 dias e esse dia for maior igual a 25 ele me traz 32 ao invés do dia 1

alguem sabe pq???

continuo aguardando
obrigado

godinez

Welcome To The Jungle hehehehe
kra, qnd eu precisei fazer um relogio proprio pro aplicativo, eu tinha uma constante que informava qnts dias tem casa mes, conforme ia passando os dias, eu sabia qnd mudou de mes.O mesmo esquema para hora, minuto, segundo.
Entendeu +/- ?
abraço

vfmartins

é… eu imaginei mesmo que não teria essa funcionalidade, to fazendo por conta mesmo

agradeço a sugestão!!

abraços

Scoobydoo

//**** …
Trabalhar com data é sempre um saco xD

godinez

Scoobydoo:
//**** …
Trabalhar com data é sempre um saco xD

++

vfmartins

Pessoal,

É possível setar o valor de uma variável tipo DATE no CALENDAR ?

Se sim, alguém pode mostrar como faço?

Obrigado!!

P

É só estudar o javadoc. Pare de fazer perguntas óbvias demais.

Criado 12 de fevereiro de 2010
Ultima resposta 18 de fev. de 2010
Respostas 29
Participantes 9