Boa noite pessoal,
Preciso pegar uma hora, por exemplo 08:10, e dividi-la em várias partes, por exemplo em dois, virando 04:05. Tentei usar o JodaTime pra isso e nada. Alguém sabe como eu posso fazer isso?
Desde já, valeu pela ajuda.
Boa noite pessoal,
Preciso pegar uma hora, por exemplo 08:10, e dividi-la em várias partes, por exemplo em dois, virando 04:05. Tentei usar o JodaTime pra isso e nada. Alguém sabe como eu posso fazer isso?
Desde já, valeu pela ajuda.
Não entendi direito, mas não seria algo assim:
Date dataOld = new Date();
Date dataNew = new Date((date.getTime() / 2));
Espero ter ajudado. Até.
Olá dmarcosm, infelizmente não deu certo, ele retorna um resultado errado.
Alguém tem mais alguma sugestão?
Olá dmarcosm, infelizmente não deu certo, ele retorna um resultado errado.Alguém tem mais alguma sugestão?
Opa....
eu não tinha entendido direito o que você queria, mas acho que este código deve te ajudar. Vê se é isso que você precisa:public static void main(String []args) {
//Data usada para desconsiderar a diferença de fusos (GMT)
Calendar c = new GregorianCalendar(1970, 0, 1, 0, 0, 0);
//Data que você quer manipular
Calendar data = new GregorianCalendar(1970, 0, 1, 8, 10, 0);
//Esta variável armazena o tempo em milessegundos real, desconsiderando o GMT.
//Será usado para realizar os cálculos
long dataMillis = data.getTimeInMillis() - c.getTimeInMillis();
//Sempre uso 1 de janeiro de 1970 porque em Java esta é a data inicial.
//Quer dizer que, com GMT 0, 1/1/1970 às 0:00:00 o timeMillis é igual a 0.
//Fazendo as operações matemáticas normalmente, sem esquecer de adicionar a diferença
//de fuso (GMT) novamente.
Date dataPorDois = new Date((dataMillis / 2) + c.getTimeInMillis());
Date dataPorQuatro = new Date((dataMillis / 4) + c.getTimeInMillis());
//Imprimindo os resultados.
//Primeiro a data inicial. Depois a data dividido por dois. E por último, a data dividido por quatro.
System.out.println(data.getTime());
System.out.println(dataPorDois);
System.out.println(dataPorQuatro);
}
Não sei se tem uma maneira mais simples de fazer isso, pois nunca pesquisei sobre o assunto. Porém este código resolve.
Espero ter ajudado. Até.
Você quer dividir “8 horas e 12 minutos” por três, por exemplo, e ter o resultado “2 horas e 44 minutos”?
Provavelmente você precisa fazer as contas mesmo:
8 horas + 12 minutos = 8 * 3600 + 12 * 60 = 29520 segundos
29520 segundos / 3 = 9840 segundos
9840 segundos = 2 horas e 44 minutos.
(9840 / 3600 == 2 horas; (9840 % 3600) == 2640 segundos
2640 / 60 = 44 minutos; 2640 % 60 == 0 segundos.)
Boa noite pessoal,Preciso pegar uma hora, por exemplo 08:10, e dividi-la em várias partes, por exemplo em dois, virando 04:05. Tentei usar o JodaTime pra isso e nada. Alguém sabe como eu posso fazer isso?
Desde já, valeu pela ajuda.
Você tem que usar Period e suas classes associadas.
De tanto falar desse Joda-Time, resolvi pesquisar! rss
http://www.guj.com.br/posts/list/98065.java
Espero que ajude. Até.