Как добавить часть времени в Android - PullRequest
0 голосов
/ 12 апреля 2011

У меня есть код, возвращающий мне строку (ЧЧ: мм).

SimpleDateFormat curFormater = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
        java.util.Date dateObj;
        try {
            dateObj = curFormater.parse(start);

            SimpleDateFormat postFormater = new SimpleDateFormat("HH:mm"); 
            String newDateStr = postFormater.format(dateObj); 
            startView.setText(newDateStr);
            Emission_start = newDateStr;
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            Log.d(" * Error", e.toString());
        }

Отлично работает ... Но сейчас я бы хотел:

  1. добавить x (предоставляется динамически) минут (x = от 5 до 1000 минут) и преобразовать во время (пример времени: 3: 45, добавить 25 минут, преобразовать во время 4:10)
  2. Получить текущее время и рассчитать разницу между текущим временем и временем с шага 1 (4:10)
  3. Получите разницу во времени (от шага 2) в минутах!

Спасибо за вашу помощь!

Ответы [ 2 ]

2 голосов
/ 12 апреля 2011

Я не проверял, но что-то вроде этого должно работать:

  1. long newDate = dateObj.getTime() + (x * 60 * 1000)

  2. long diff = System.currentTimeMillis() - newDate

  3. double diffInMins = diff / (60.0 * 1000.0)

0 голосов
/ 12 апреля 2011
  1. использовать календарь

    Календарь calInstance = new GregorianCalendar (); calInstance.setTime (dateObj);

Затем добавьте любой фрагмент, который вы хотите, за минуты сделайте

calInstance.add(Calendar.MINUTE, XX)

Для преобразования используйте ваш форматер

postFormatter.format(calInstance.getTime());
  1. тривиально

  2. Разница в минутах также может быть легко рассчитана

    long diffInMins = (currTimeInMillis - calInstance.getTimeInMillis ()) / (1000 * 60);

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