-1

カレンダーから 2 つの日付を取得しています。文字列ビルダーに書き込みます。2 つの日付の差を取得したいのですが、週末を除いて、残りの日数を保持したいと考えています。

 private DatePickerDialog.OnDateSetListener datePickerListener = new DatePickerDialog.OnDateSetListener() {

        // when dialog box is closed, below method will be called.
        public void onDateSet(DatePicker view, int selectedYear,  int selectedMonth, int selectedDay) {


            year = selectedYear;
            month = selectedMonth;
            day = selectedDay;

            if (cur == DATE_DIALOG_ID) {
                // set selected date into textview
               permitDate = new StringBuilder().append(day).append(".").append(month + 1).append(".").append(year).append(" ").toString();
                tvDisplayDate.setText("Date : " + permitDate);

            } else {
               startDate = new StringBuilder().append(day).append(".").append(month + 1) .append(".").append(year).append(" ").toString();
                tvDisplayDate2.setText("Date : " + startDate);


            }

        }
    };
4

2 に答える 2

0
Calendar thatDay = Calendar.getInstance();
thatDay.set(Calendar.DAY_OF_MONTH,25);
thatDay.set(Calendar.MONTH,7); // 0-11 so 1 less
thatDay.set(Calendar.YEAR, 1985);

Calendar today = Calendar.getInstance();

long diff = today.getTimeInMillis() - thatDay.getTimeInMillis(); //result in millis

long days = diff / (24 * 60 * 60 * 1000);

文字列から日付を解析するには、次を使用できます

String strThatDay = "1985/08/25";
SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd");
Date d = null;
try {
 d = formatter.parse(strThatDay);//catch exception
} catch (ParseException e) {
 // TODO Auto-generated catch block
 e.printStackTrace();
} 


Calendar thatDay = Calendar.getInstance();
thatDay.setTime(d); //rest is the same....
于 2016-10-19T07:01:49.433 に答える
0

JodaTimeライブラリを使用して、日付の違いを見つけます。詳細については、Joda Time の使用の指示に従ってください。

于 2016-10-19T07:12:14.933 に答える