Android сравнить дату и время - PullRequest
3 голосов
/ 27 февраля 2010

Я пытаюсь сравнить два времени, но не могу заставить его работать.

    public void time () {
        Calendar c11 = Calendar.getInstance ();
        c11.add(Calendar.DAY_OF_YEAR, 0);
        c11.set(Calendar.HOUR_OF_DAY, 9);
        c11.set(Calendar.MINUTE, 0 );
        c11.set(Calendar.SECOND, 0);

        Calendar c12 = Calendar.getInstance ();
        c12.add(Calendar.DAY_OF_YEAR, 0);
        c12.set(Calendar.HOUR_OF_DAY, 9);
        c12.set(Calendar.MINUTE, 0 );
        c12.set(Calendar.SECOND, 0);

        c11.getTime();
        c12.getTime();
        boolean k = c11.equals(c12);
        if (k==true)
        {
            Toast.makeText(
              getContext(),
              "Wow these two times are the same!",
              Toast.LENGTH_LONG).show();
        }
    }
    }

Ответы [ 2 ]

3 голосов
/ 27 февраля 2010
  1. Миллисекунды двух значений времени различны, поэтому сравнение на равенство вернет false.

  2. Почему вы добавляете 0 дней в оба экземпляра календаря? Это ничего не делает.

1 голос
/ 27 ноября 2017
 public void onDateSelected(DateTime dateSelected) {
    DateTime currentDateTime = new DateTime(); 

    try{
        /* If you want to compare only date from DateTime object then,
           you can use "yyyy-MM-dd" format and split the string from T like: 
           dateSelected.toString().split("T") and use str1[0] to parse */  

        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZZZZZ");

        String str1 = dateSelected.toString();
        Date selectedDate = formatter.parse(str1);

        String str2 = currentDateTime.toString();
        Date currentDate = formatter.parse(str2);

        if (selectedDate.compareTo(currentDate)<0)
        {
            System.out.println("current date is Greater than my selected date");
        }

    }catch (ParseException e1){
        e1.printStackTrace();
    }
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...