Como definir o número do horas por dia usando Calendar
Pessoal, como faço para definir o número de horas de um dia. Usando Calendar, está definido que um dia tem 24 horas (padrão) quero mudar para que um dia tenha 9 horas.
Alguém pode me ajudar?
Obrigado.
Marcos
Alguém pode me ajudar?
Obrigado.
Marcos
Marcos
Curtidas 0
Respostas
Janaina Mendes
14/07/2015
Acompanhando, Marcos, já leu sobre o assunto?
[url]http://www.botecodigital.info/java/manipulando-datas-em-java/[/url]
[url]http://www.botecodigital.info/java/manipulando-datas-em-java/[/url]
GOSTEI 0
Marcos
14/07/2015
Oi Janaina, sim já lí. Mas estou um pouco confuso como devo setar as horas do dia para que não seja mais 24horas e sim 9horas.
Será que devo fazer isso?
Calendar c = Calendar.getInstance();
c.set(Calendar.HOUR_OF_DAY, 9);
Mas acho que não é isso.
Será que devo fazer isso?
Calendar c = Calendar.getInstance();
c.set(Calendar.HOUR_OF_DAY, 9);
Mas acho que não é isso.
GOSTEI 0
Marcos
14/07/2015
Estou fazendo um sistema de alocaçao de horas para pessoas, só que a empresa quer que os dias úteis tenham somente 9 horas para que na soma das horas alocadas quando ultrapassar as nove horas alocadas mude o dia.
Exemplo: Data Inicial Horas
01-07-2015 54
O Sistema deve acrescentar mais seis dias na data. Humm.. Pensando bem... Talvez se eu converter as horas em dias de 9horas (54/9) e adicionar seria uma alternativa
Exemplo: Data Inicial Horas
01-07-2015 54
O Sistema deve acrescentar mais seis dias na data. Humm.. Pensando bem... Talvez se eu converter as horas em dias de 9horas (54/9) e adicionar seria uma alternativa
GOSTEI 0
Ronaldo Lanhellas
14/07/2015
De fato a melhor solução é criar uma camada de conversão de 24h para 9h, exatamente do jeito que você mencionou. Vejamos:
- Em 1 dia normal temos 24horas.
- No seu dia em especial temos 9h apenas.
Então a pergunta: Quantos dias tem em 24h ? Quando cada dia corresponde a 9h ?
Regra de três simples -->
1dia ---- 9h
xdias --- 24h
x = 24/9 -->> 2,66. Como o dia deve ser um valor inteiro, temos que em 24h temos 2 dias e mais algumas horas (mas estamos desprezando essas horas).
Vamos codificar isso:
Com o método quantidadeDias() você sabe quantos dias tem em X horas, e depois é só adicionar a data atual através do Calendar.
- Em 1 dia normal temos 24horas.
- No seu dia em especial temos 9h apenas.
Então a pergunta: Quantos dias tem em 24h ? Quando cada dia corresponde a 9h ?
Regra de três simples -->
1dia ---- 9h
xdias --- 24h
x = 24/9 -->> 2,66. Como o dia deve ser um valor inteiro, temos que em 24h temos 2 dias e mais algumas horas (mas estamos desprezando essas horas).
Vamos codificar isso:
public int quantidadeDias(int horas){
return Math.ceil(horas/9);
}
Com o método quantidadeDias() você sabe quantos dias tem em X horas, e depois é só adicionar a data atual através do Calendar.
GOSTEI 0
Ronaldo Lanhellas
14/07/2015
De fato a melhor solução é criar uma camada de conversão de 24h para 9h, exatamente do jeito que você mencionou. Vejamos:
- Em 1 dia normal temos 24horas.
- No seu dia em especial temos 9h apenas.
Então a pergunta: Quantos dias tem em 24h ? Quando cada dia corresponde a 9h ?
Regra de três simples -->
1dia ---- 9h
xdias --- 24h
x = 24/9 -->> 2,66. Como o dia deve ser um valor inteiro, temos que em 24h temos 2 dias e mais algumas horas (mas estamos desprezando essas horas).
Vamos codificar isso:
Com o método quantidadeDias() você sabe quantos dias tem em X horas, e depois é só adicionar a data atual através do Calendar.
- Em 1 dia normal temos 24horas.
- No seu dia em especial temos 9h apenas.
Então a pergunta: Quantos dias tem em 24h ? Quando cada dia corresponde a 9h ?
Regra de três simples -->
1dia ---- 9h
xdias --- 24h
x = 24/9 -->> 2,66. Como o dia deve ser um valor inteiro, temos que em 24h temos 2 dias e mais algumas horas (mas estamos desprezando essas horas).
Vamos codificar isso:
public int quantidadeDias(int horas){
return Math.ceil(horas/9);
}
Com o método quantidadeDias() você sabe quantos dias tem em X horas, e depois é só adicionar a data atual através do Calendar.
GOSTEI 0
Ronaldo Lanhellas
14/07/2015
De fato a melhor solução é criar uma camada de conversão de 24h para 9h, exatamente do jeito que você mencionou. Vejamos:
- Em 1 dia normal temos 24horas.
- No seu dia em especial temos 9h apenas.
Então a pergunta: Quantos dias tem em 24h ? Quando cada dia corresponde a 9h ?
Regra de três simples -->
1dia ---- 9h
xdias --- 24h
x = 24/9 -->> 2,66. Como o dia deve ser um valor inteiro, temos que em 24h temos 2 dias e mais algumas horas (mas estamos desprezando essas horas).
Vamos codificar isso:
Com o método quantidadeDias() você sabe quantos dias tem em X horas, e depois é só adicionar a data atual através do Calendar.
- Em 1 dia normal temos 24horas.
- No seu dia em especial temos 9h apenas.
Então a pergunta: Quantos dias tem em 24h ? Quando cada dia corresponde a 9h ?
Regra de três simples -->
1dia ---- 9h
xdias --- 24h
x = 24/9 -->> 2,66. Como o dia deve ser um valor inteiro, temos que em 24h temos 2 dias e mais algumas horas (mas estamos desprezando essas horas).
Vamos codificar isso:
public int quantidadeDias(int horas){
return Math.ceil(horas/9);
}
Com o método quantidadeDias() você sabe quantos dias tem em X horas, e depois é só adicionar a data atual através do Calendar.
GOSTEI 0
Marcos
14/07/2015
Obrigado Ronaldo.
Acabei fazendo assim:
Apenas um comentário: Por que quando você responde no Forum a resposta vem repetida várias vezes?
Acabei fazendo assim:
Double hc = HorasDAO.listaHoraCalendarioRegiao("COD_REGIAO = "+usuarioDTO.getRegiao().getCodRegiao()+"");
if(alocacaoDTO.getHoras()!=null){
ha = Double.parseDouble(alocacaoDTO.getHoras());
d = ha/hc;
dd = Math.ceil(d);
}
Apenas um comentário: Por que quando você responde no Forum a resposta vem repetida várias vezes?
GOSTEI 0
Ronaldo Lanhellas
14/07/2015
Disponha. Em relação a sua pergunta, deve ser porque o meu browser está com algum bug e envia várias requisições para o mesmo click.
GOSTEI 0