Estou tentando utilizar o joda-time fazendo uma diferença simples de hora
porém não estou conseguindo.:
INICIANDO AS HORAS.:
public geral() {
initComponents();
// INICIANDO HORA DE DIFERENÇA
DateTimeFormatter DATE_FORMAT = DateTimeFormat.forPattern("H:mm");
PeriodFormatter PERIOD_FORMAT = new PeriodFormatterBuilder()
.printZeroAlways().minimumPrintedDigits(2)
.appendHours().appendLiteral(":").appendMinutes()
.toFormatter();
FAZENDO O CALCULO.:
[code]
private void tf_horasaidaFocusLost(java.awt.event.FocusEvent evt) {
while (true) {
String hora2 = in.nextLine();
try {
DateTime dt = DATE_FORMAT.parseDateTime(hora2);
return dt;
}
catch (Exception e)
{
JOptionPane.showMessageDialog(“Hora inválida”);
}
}
DateTime entrada = leHora(tf_horaentrada2.getText());
DateTime saida = leHora(tf_horasaida.getText());
PERIOD period = new PERIOD(entrada, saida);
tf_horatotal.setText(PERIOD_FORMAT.print(period));
valortotal();
} [/code]
brlima
Agosto 7, 2008, 4:56pm
#2
Olha, não é muita coisa, mas…
DateTime d1 = new DateTime().plusDays(1).plusHours(5).plusMinutes(50);
DateTime d2 = new DateTime();
long milisecs = (d1.toDate().getTime() - d2.toDate().getTime());
long segundos = milisecs /1000;
long minutos = segundos / 60;
long horas = minutos / 60;
long dias = horas / 24;
System.out.println( "segundos: " + segundos );
System.out.println( "minutos: " + minutos );
System.out.println( "horas: " + horas );
System.out.println( "dias: " + dias );
Não entendi… que cálculo vc quer fazer?
Quer saber quantas horas, minutos e segundos passaram entre os dois tempos?
Algo assim?
[code]LocalTime start = new LocalTime(“10:00:00”);
LocalTime end = new LocalTime(“11:30:00”);
Period period = new Period(start, end);
System.out.println(“Entre as duas datas há: " + period.getDays() + " dias, "
+ period.getHours() + " horas "
+ period.getMinutes() + " minutos.”);
[/code]
Usar getTime() e fazer conta no braço é coisa do Calendar. Esqueça isso.
É a diferença entre dois campos um com o horário inicial e outro com o final.
no formato HH:mm
Não serve isso?
[code]
LocalTime start = new LocalTime(“10:00:00”);
LocalTime end = new LocalTime(“11:30:00”);
Period period = new Period(start, end);
System.out.printf(“Diferença: %02d:%02d”, period.getHours(), period.getMinutes());
System.out.println();[/code]
1 curtida
só que eu gostaria de utilizar com o usuário escrevendo a data
e ele aparecendo em um campo de texto
mal ai mais eh que eu tow começando em java :oops:
brlima
Agosto 8, 2008, 11:08am
#7
Legal :lol:
Hehehehe…
[quote=ViniGodoy]Não serve isso?
[code]
LocalTime start = new LocalTime(“10:00:00”);
LocalTime end = new LocalTime(“11:30:00”);
Period period = new Period(start, end);
System.out.printf(“Diferença: %02d:%02d”, period.getHours(), period.getMinutes());
System.out.println();[/code][/quote]
Gostei do exemplo, de certa forma me ajudou mas, eu tenho um problema.
Imagine a seguinte situação.
Eu quero saber a diferença entre 10:33:44 até 11:56:21
Daí dessa forma não irá me mostrar ~ 1hora e 22 minutos e (não sei quantos) segundos.
Como eu resolveria isso ?