在日期选择器中显示当前日期

时间:2021-07-02 05:10:45

标签: java android-studio datepicker

我有两个问题;我的应用程序有 2 个 textview 日期选择器,我将使用这两个日期选择器作为记录。

我的问题是:

1.- 在显示日期选择器(选择日期的框)时我该怎么做;选择当前日期。

2.-如何根据我的代码验证开始日期和结束日期;或者我可以用什么方式来做。

[在此处输入图片描述][1] [1]:https://i.stack.imgur.com/nYhiq.jpg

开始日期

public void StartDate(View view){
    Calendar FI= Calendar.getInstance();
    diaI=FI.get(Calendar.DAY_OF_MONTH);
    mesI=FI.get(Calendar.MONTH);
    anioI=FI.get(Calendar.YEAR);

    DatePickerDialog datePickerDialog= new DatePickerDialog(this,new DatePickerDialog.OnDateSetListener() {
        @SuppressLint("SetTextI18n")
        @Override
        public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
            editTextFechaInicio.setText(dayOfMonth+"/"+(monthOfYear+1)+"/"+year);
        }
    }, diaI,mesI,anioI);
    datePickerDialog.show();
}

结束日期

public void EndDate(View view){
    final Calendar FF= Calendar.getInstance();
    diaF=FF.get(Calendar.DAY_OF_MONTH);
    mesF=FF.get(Calendar.MONTH);
    anioF=FF.get(Calendar.YEAR);

    DatePickerDialog datePickerDialog= new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
        @Override
        public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
            editTextFechaFinal.setText(dayOfMonth+"/"+(month+1)+"/"+year);
        }
    }, diaF,mesF,anioF);
    datePickerDialog.show();
}

1 个答案:

答案 0 :(得分:0)

答案 1:使用 GregorianCalendar 而不是 Calender,如下所示:

GregorianCalendar gc = new GregorianCalendar()
int defaultDay = gc.get(Calender.DAY_OF_MONTH)
int defaultMonth = gc.get(Calender.MONTH)
int defaultYear = gc.get(Calender.YEAR)

String startDate;
DatePickerDialog dpd = new DatePickerDialog(ctx, new DatePickerDialog.OnDateSetListener() {
                    @Override
                    public void onDateSet(DatePicker datePicker, int year, int month, int day) {
                        startDate = day + "/" + (month+1) + "/" + year
                        btndate.setText(startDate);
                    }
                },DefaultYear,DefaultMonth,DefaultDate);
dpd.show();

答案 2:隐藏从开始日期到结束日期 DatePicker 的旧日期

endDatePickerDialog.getDatePicker().setMinDate(startDate)

希望对您有所帮助。