Время GPS в миллис в формате UTC - PullRequest
1 голос
/ 07 марта 2012

Есть ли прямой способ преобразования определенного количества секунд, начиная с 6 января 1980 года, в формат UTC, например, ГГГГ / ММ / ДД ЧЧ: мм: сс?

РЕДАКТИРОВАТЬ: Вот код работает:

private Date gpsInit;
//...
try{
        String ds = "06/01/1980";
        DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
        gpsInit = df.parse(ds);
    }
    catch(ParseException e) {
        System.out.println("Unable to parse January 6th 1980");
    }

    textField = new JFormattedTextField(format);
    textField.setText(formatUTC(min));
//...
private String formatUTC(int timeValue) {
        long diference = timeValue + gpsInit.getTime()/1000;
        String pattern = "yyyy/MM/dd HH:mm:ss";
        SimpleDateFormat utcFormat = new SimpleDateFormat(pattern);
        Date utcNow = new Date(diference*1000);
        return utcFormat.format(utcNow);
    }

1 Ответ

7 голосов
/ 07 марта 2012

Что-то вроде:

  1. Создание объекта Date (через Calendar) для 06.01.1980 00:00:00 даты
  2. , вызова getTime() для получения миллисекунд с момента EPOCH
  3. Добавьте к этому свои миллисекунды
  4. Создайте новый объект Date с этим значением в миллисекундах.
  5. Отформатируйте его так, как хотите (например, SimpleDateFormatter)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...