Data juliana

17 respostas
JJjava

Olá,

tenho o seguitne problema quero saber qual mes esta o dia juliano por emxemplo hj dia 49 como saber o mes ?

Grato.

17 Respostas

ErickGledson

Olá! :slight_smile:

Vamos ver se eu entendi… Você quer trabalhar com os 365 dias/ano, correto?

Creio que, com um IF, você pode pegar isso.

if(diaAno >= 1 && diaAno <= 31) {
System.out.println("É Janeiro!");
...
}

Obs.: Bom, sou um tanto iniciante e talvez tenha uma melhor maneira de tratar isso.

Boa sorte!

Marlon_Meneses

dê uma olhada na API Calendar
você será capaz de fazer isso com facilidade!

darksteel3000

Olá amigo, tenta assim:

Calendar cal = GregorianCalendar.getInstance(); int diaDoAno = cal.get(cal.DAY_OF_YEAR);

JJjava

ErickGledson:
Olá! :slight_smile:

Vamos ver se eu entendi… Você quer trabalhar com os 365 dias/ano, correto?

Creio que, com um IF, você pode pegar isso.

if(diaAno >= 1 && diaAno <= 31) {
System.out.println("É Janeiro!");
...
}

Obs.: Bom, sou um tanto iniciante e talvez tenha uma melhor maneira de tratar isso.

Boa sorte!

putzs nada pratico e ainda como vou saber se o ano e bisexto

JJjava

darksteel3000:
Olá amigo, tenta assim:

Calendar cal = GregorianCalendar.getInstance(); int diaDoAno = cal.get(cal.DAY_OF_YEAR);

sim isso eu fiz so que so que preciso saber em que mes esta.

tinnha feito algo do tipo :

int diaDoAno = cal.get(cal.DAY_OF_YEAR);  
  GregorianCalendar dataAux = new GregorianCalendar();
        dataAux.add(Calendar.DAY_OF_YEAR,diaDoAno);
        int month = dataAux.get(Calendar.MONTH);

no caso o dia 49 q é hj ele retorna mes 3, ai nao entendi nada

ErickGledson

JJjava:

putzs nada pratico e ainda como vou saber se o ano e bisexto

Como eu disse, sou iniciante e ainda não sei/não conheço as ferramentas que a linguagem pode oferecer.

Mas estarei observando o tópico, para assim, poder pesquisar oque foi sugerido.

Boa sorte! :slight_smile:

darksteel3000

Faz um getTime do seu calendar, com um SimpleDateFormat com o pattern só para retornar o mes.

JJjava

não entendi

pdpbom

Axo q isso faz oq você precisa;

Calendar calendar = Calendar.getInstance(); 
        calendar.set(calendar.DAY_OF_YEAR, 40);
        
        SimpleDateFormat formatData = new SimpleDateFormat("MM");  
        System.out.println(formatData.format(calendar.getTime()));
darksteel3000

Teu objeto calendar tem um metodo chaamdo “getTime()”. Ele retorna um Date.

O que é que tu faz, tu pega esse Date que ele retornar e criar um SimpleDateFormat assim:

SimpleDateFormat sf = new SimpleDateFormat("MM"); String mes = sf.format(seuCalendar.getTime());

JJjava

darksteel3000:
Teu objeto calendar tem um metodo chaamdo “getTime()”. Ele retorna um Date.

O que é que tu faz, tu pega esse Date que ele retornar e criar um SimpleDateFormat assim:

SimpleDateFormat sf = new SimpleDateFormat("MM"); String mes = sf.format(seuCalendar.getTime());


tenho uma duvida, pq o usario pode escolher uma data D q eh o dia atual e pode it ate D-7 , minha duvida eh se ele estiver no dia 4/2 e escolher d-7 estaraia na data 28/1 ai esse codigo nao vai valer nao eh?

por isso estava tentando setar a data apartir do dia em juliano para ter certeza q o mes retornado eh o correto…

JJjava

Resolvi o problema de uma maneira não muito bonita mas consegui oq eu queria ficou assim:

Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, -3);//de acordo com a escolha do usuario atraso ate  7 dias
String data = String.format("%tF\n", cal); 
data = data.substring(0, 7);
data = data.replaceAll("-", "");
System.out.printf(data);

agora tenho o ano e o mes do jeito q eu queria, nao precisei mais usar data juliana

gomesrod

Ou eu estou deixando passar algum detalhe importante, ou você está usando solução complicada para um problema muito simples…

Se for para pegar o mês a que uma data pertence, porque não obter diretamente do calendar?

int mes = cal.get(Calendar.MONTH) + 1;

E essa parte também não entendi:

cal.add(Calendar.DATE, -3);//de acordo com a escolha do usuario atraso ate  7 dias

Se são 7 dias, porque está pegando a data de 3 dias atrás?

B

Não era mais fácil ter perguntando desde o inicio “Como faço para obter o mês e o ano de uma data há N dias antes de hoje?”

JJjava

Não, pqorque eu tive q adapatar a solução

JJjava

gomesrod:
Ou eu estou deixando passar algum detalhe importante, ou você está usando solução complicada para um problema muito simples…

Se for para pegar o mês a que uma data pertence, porque não obter diretamente do calendar?

int mes = cal.get(Calendar.MONTH) + 1;

E essa parte também não entendi:

cal.add(Calendar.DATE, -3);//de acordo com a escolha do usuario atraso ate  7 dias

Se são 7 dias, porque está pegando a data de 3 dias atrás?

o codigo q coloquei nao é a solução definitiva impelementa eh um codigo de esboço paar ajudar outras pessoas q tiverem um problem parececido.
está -3 como exemplo pois a data vai de D a D-7.

sergiotaborda

JJjava:
gomesrod:
Ou eu estou deixando passar algum detalhe importante, ou você está usando solução complicada para um problema muito simples…

Se for para pegar o mês a que uma data pertence, porque não obter diretamente do calendar?

int mes = cal.get(Calendar.MONTH) + 1;

E essa parte também não entendi:

cal.add(Calendar.DATE, -3);//de acordo com a escolha do usuario atraso ate  7 dias

Se são 7 dias, porque está pegando a data de 3 dias atrás?

o codigo q coloquei nao é a solução definitiva impelementa eh um codigo de esboço paar ajudar outras pessoas q tiverem um problem parececido.
está -3 como exemplo pois a data vai de D a D-7.

Vc não entendeu a pergunta. E me parece que sua lógica está confusa de mais.
Se é D -7 porque está usando o valor -3 ? Deveria ser -7 , ora!
Vc não explicou a realção entre o -3 e o 7

Criado 18 de fevereiro de 2013
Ultima resposta 19 de fev. de 2013
Respostas 17
Participantes 8