Получение времени между двумя датами. - PullRequest
1 голос
/ 07 марта 2012

Я пытаюсь найти способ в Android получить время между текущей датой и датой, установленной пользователем.Например, если они выбрали дату, например 14 июня 2012 года, я бы хотел, чтобы мое приложение тренировалось и отображало обратный отсчет, например, «осталось 13 дней»

В настоящее время у меня есть средство выбора даты, которое будет принимать дату изпользователь и отобразить его, и у меня есть проверка текущей даты, которая отображается в верхней части экрана.

Я видел здесь некоторый код, который показывает, как показать, сколько времени прошло с даты, но не уверен, как изменить это на то, что мне нужно.

Есть ли какой-либо метод в Android, который мог бы позволить это сделать?

Ответы [ 3 ]

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

Один из способов - использовать объект календаря и сравнивать все поля по отдельности или с помощью даты.

Мой ответ будет использовать Calendar.getTimeInMillis () . Затем используйте, например, ответы здесь: миллисекунды до дней , чтобы получить от миллисекунд до дней или используя TimeUnit

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

Вы можете использовать класс времени Android: http://developer.android.com/reference/android/text/format/Time.html#set(int, int, int, int, int, int)

Создайте объект времени и установите для него указанную пользователем дату. Создайте другой объект времени и используйте метод setToNow (), чтобы установить его на текущее время. Затем вы можете преобразовать оба в миллисы с помощью метода toMillis () и вычесть выбранные миллисы из текущего миллиса, что даст вам разницу в миллисах. Тогда все, что вам нужно сделать, это преобразовать разницу в ту единицу времени, которую вы хотите показать. Дней будет: разница / (1000 мс / с * 60 с / мин * 60 мин / час * 24 часа / день)

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

Эта ссылка показывает, как это сделать с помощью Joda, и я согласен с их ответом, что вам следует использовать Joda вместо стандартных (некорректных) API-интерфейсов Java. Я использовал Joda с Android раньше без каких-либо проблем ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...