Получение миллисекунд от JSpinner в Java Swing - PullRequest
0 голосов
/ 05 апреля 2019

Я пытаюсь извлечь миллисекунды между фактическим временем и временем, определенным элементом управления JSpinner (spnTimer). Формат JSpinner: чч: мм: сс Так как я довольно новичок в Java, я не могу получить желаемый результат. Когда я попытался преобразовать время вращения в строку, я получил время назад в 1970 году. Любая помощь будет высоко оценен.

String s = spnTimer.getValue().toString();
System.out.println("spinner time: "+ s);

Результат: Время вращения: четверг, 01 января 09:43:19 CET 1970

1 Ответ

0 голосов
/ 05 апреля 2019

Вращатель возвращает значение «эпохи». Эпоха традиционно соответствует 0 часам, 0 минутам и 0 секундам (00:00:00) всемирного координированного времени (UTC) на конкретную дату, которая варьируется от системы к системе, и с того времени значение эпохи измеряется секундами. Попробуйте следующий код, держу пари, он будет работать

Date spinnerValue = (Date) spinner.getValue();
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy/MMM/dd");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/MMM/dd HH:mm:ss");
Date actualDate = sdf2.parse(sdf1.format(new Date()) + " " + sdf.format(spinnerValue), new ParsePosition(0));

Надеюсь, это поможет

...