Использование GPS (LocationManager), как получить текущее время?

1

Я разрабатываю одно приложение GPS. Который отправит данные о местоположении на сервер на каждый час.

В этом я использую следующий код:

location.getLatitude();
location.getLongitude();
location.getTime();

с этим кодом я получаю Локатор и Долгота правильно и Время также, но я получаю приблизительно 13 цифр вместо времени. Я провел некоторое исследование по этому вопросу, я обнаружил, что это секунды для текущего времени.

так что теперь мне нужно преобразовать это 13-значное число в конкретный формат.

Теги:

3 ответа

12
Лучший ответ

Location#getTime() возвращает "время UTC этого исправления в миллисекундах с 1 января 1970 года."

Это точно такое же поведение, как java.util.Date#getTime(). Я не понимаю, что вы хотели бы сделать с данными времени, но если вы хотите преобразовать время Location в java.util.Date, вы можете сделать это следующим образом:

long time = location.getTime();
Date date = new Date(time);

Теперь с ним немного легче работать. Если вы хотите создать определенный выходной формат строки этой даты, используйте SimpleDateFormat:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String text = sdf.format(date);
System.out.println(text); // prints something like 2011-01-08 13:35:48

Тем не менее, если все, что вы хотели бы сделать, это получить текущее время (что похоже на то, что вы пытаетесь сделать), вам вообще не нужен Location:

Date now = new Date();

Что это!


Помогает ли это? Если нет, не могли бы вы уточнить, что вы пытаетесь сделать?

  • 0
    Я хочу отправить время с местоположением, в какое время это местоположение будет записано в это время, я должен отправить на сервер не текущее время
  • 0
    Спасибо Мэтт за ваш ценный ответ .. это мне очень помогает
Показать ещё 3 комментария
2
 Date date = new Date(location.getTime());

 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

 String myDate= sdf.format(date);



 System.out.println(myDate)
  • 0
    Этот код поможет вам получить дату и время, используя GPS в Java и Android.
1
String timestamp = parseDate(location.getTime().toDate());

public String parseDate(Date date){
        String format = "yyyy-MM-dd HH:mm:ss";
        SimpleDateFormat sdf = new SimpleDateFormat(format, Locale.US);
        return sdf.format(date).toString();
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню