Ошибка при преобразовании значения getTime () в миллисекунды - PullRequest
0 голосов
/ 10 августа 2011

Можете ли вы помочь в следующем вопросе:

У меня возникла ошибка на дисплее: при преобразовании в миллисекунды отображаются неправильные значения. Я использую getTime () в Java.

Мой код:

Time absent = rs.getTime("abs_hours");
long absent_cumm= (absent.getTime() );

out.println(absent); // This will display 00:04:00 which is correct

Но когда я печатаю absent_cumm

out.println(absent_cumm);// This will display -10560000 which is wrong

Как преобразовать отсутствующее значение в миллисекунды?

1 Ответ

2 голосов
/ 10 августа 2011

Ну, вот как минимум один способ, который мог бы работать:

Time time = Time.valueOf("00:04:00"); // replace with rs.getTime()
Calendar cal = Calendar.getInstance();
cal.setTime(time);
int hour = cal.get(Calendar.HOUR);
int minute = cal.get(Calendar.MINUTE);
int second = cal.get(Calendar.SECOND);
int ms = (hour * 3600 + minute * 60 + second) * 1000;
System.out.println("ms: " + ms);

Должно правильно напечатать "ms: 240000"

...