【发布时间】:2016-06-14 10:29:43
【问题描述】:
当用户在 from 和 to date 之间选择 date 时。如何在android中calculate第三个Edittext的夜晚数?
按照我的代码datepicker
3 edittext box
1 从日期 2 至今 3 夜数 = ?
CheckInDate = (EditText) rootView.findViewById(R.id.CheckInDate);
CheckOutDate = (EditText) rootView.findViewById(R.id.CheckOutDate);
CheckInDate.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v) {
if (v == CheckInDate) {
final Calendar c = Calendar.getInstance();
int mYear = c.get(Calendar.YEAR);
int mMonth = c.get(Calendar.MONTH);
int mDay = c.get(Calendar.DAY_OF_MONTH);
c.set(Calendar.DAY_OF_MONTH, mDay);
DatePickerDialog dpd = new DatePickerDialog(getActivity(),
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
Calendar cal = Calendar.getInstance();
cal.set(Calendar.MONTH, monthOfYear);
cal.set(Calendar.DAY_OF_MONTH, dayOfMonth);
cal.set(Calendar.YEAR, year);
if(cal.before(c)) {
Toast.makeText(getActivity(), "Select valid date please.", Toast.LENGTH_LONG).show();
return;
}
StringBuilder date = new StringBuilder();
date.delete(0, date.length());
date.append((dayOfMonth<10?"0":"")).append(dayOfMonth)
.append("/").append((monthOfYear + 1) < 10 ? "0" : "")
.append((monthOfYear+1)).append("/").append(year);
CheckInDate.setText(date.toString());
}
}, mYear, mMonth, mDay);
dpd.getDatePicker().setMinDate(c.getTimeInMillis());
dpd.show();
}
}
});
CheckOutDate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (v == CheckOutDate) {
final Calendar c = Calendar.getInstance();
int mYear = c.get(Calendar.YEAR);
int mMonth = c.get(Calendar.MONTH);
int mDay = c.get(Calendar.DAY_OF_MONTH);
c.set(Calendar.DAY_OF_MONTH, mDay);
DatePickerDialog dpd = new DatePickerDialog(getActivity(),
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
Calendar cal = Calendar.getInstance();
cal.set(Calendar.MONTH, monthOfYear);
cal.set(Calendar.DAY_OF_MONTH, dayOfMonth);
cal.set(Calendar.YEAR, year);
if(cal.before(c)) {
Toast.makeText(getActivity(), "Select valid date please.", Toast.LENGTH_LONG).show();
return;
}
StringBuilder date = new StringBuilder();
date.delete(0, date.length());
date.append((dayOfMonth<10?"0":"")).append(dayOfMonth)
.append("/").append((monthOfYear + 1) < 10 ? "0" : "")
.append((monthOfYear+1)).append("/").append(year);
CheckOutDate.setText(date.toString());
}
}, mYear, mMonth, mDay);
dpd.getDatePicker().setMinDate(c.getTimeInMillis());
dpd.show(); }
}
});
【问题讨论】:
-
您可以使用乔达时间:stackoverflow.com/questions/3802893/…
标签: android datepicker calendar android-datepicker