Вычитание определенного времени в минутах из доступной строки времени - PullRequest
0 голосов
/ 19 октября 2018

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

 viewHolder.mCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                Date date = (Date) mtablayoutCourtDetailsAvailability.getTabAt(mtablayoutCourtDetailsAvailability.getSelectedTabPosition()).getTag();
                String key = new SimpleDateFormat("dd-MM-yyyy", Locale.ENGLISH).format(date);
                List<String> stringList = stringListMap.get(key);
                if (isChecked)
                {
                   stringList.add(buttonView.getText().toString());
                }

                else
                {
                    stringList.remove(buttonView.getText().toString());
                }

                stringListMap.put(key, stringList);
            }
        });

Теперь в этом коде строка ниже относится ко времени, когда пользователь выберет

buttonView.getText().toString()

временных интервалов, например:что: «09:00 AM - 10:00 AM», поэтому при любой проверке любого слота в buttonView будет отображаться текст временного интервала, который будет добавлен в список.Тем не менее, я хочу вычесть 1 минуту из времени, которое следует после «-», т.е. если пользователь выберет «09:00 - 10:00 AM», тогда новое время, которое будет добавлено в stringList, должно быть «09:00 AM -9:59 утра ".К сожалению, я не могу этого достичь, так как я новичок в этом деле.Я могу получить значение второго временного интервала после "-" с помощью следующего кода

String[] namesList = buttonView.getText().toString().split("-");
        String partbefore= namesList[0];
        String partafter= namesList[1];

partafter будет содержать 10:00 AM, который я должен изменить на 09:59 AM после вычитания 1 минуты из этого.Как мне этого добиться?Пожалуйста, помогите

1 Ответ

0 голосов
/ 19 октября 2018

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

try {
        String original_time = "2018-11-11 11:02 am", time_required;
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm a");
        SimpleDateFormat localDateFormat = new SimpleDateFormat("HH:mm");
        Date date;
        Calendar cal = Calendar.getInstance();
        date = dateFormat.parse(original_time);
        time_required = localDateFormat.format(date);
        cal.setTime(date);
        cal.add(Calendar.MINUTE, -1);
        time_required = localDateFormat.format(cal.getTime());

    } catch (Exception ex) {
        Toast.makeText(this, ""+ex.getMessage(), Toast.LENGTH_SHORT).show();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...