2

我有两个datepicker Fromto 我想要今天的日期和 7 天后的日期,例如今天的日期 01/10/2012应该在,to而 7 天后的日期,即23/9/2012应该在From

我所做的是,我能够得到今天的日期,但我怎样才能得到日期 7 天回来我所做的是

Calendar ToDateCal=Calendar.getInstance();
    DatePickerDialog.OnDateSetListener td=new DatePickerDialog.OnDateSetListener() {
        public void onDateSet(DatePicker view,int year,int monthOfYear,int dayOfMonth) {
            ToDateCal.set(Calendar.YEAR, year);
            ToDateCal.set(Calendar.MONTH, monthOfYear);
            ToDateCal.set(Calendar.DAY_OF_MONTH, dayOfMonth);
            updateToDate();
        }
    };


private void updateToDate(){
    try{
    int iDay;
    int iMonth;
    int iYear;

    iDay=ToDateCal.get(Calendar.DATE);
    iMonth=ToDateCal.get(Calendar.MONTH);
    iMonth=iMonth+1;
    iYear=ToDateCal.get(Calendar.YEAR);

    String sTDate=iDay+"/"+iMonth+"/"+iYear;
    ToDate.setText(sTDate);
}
    catch(Exception ex){
        sResponse=ex.toString();
    }
}

单击 Edittext 上的事件

        ToDate.setOnClickListener(new View.OnClickListener(){
            public void onClick(View v){
                new DatePickerDialog(DRSTClaimPage.this,td,ToDateCal.get(Calendar.YEAR),
                ToDateCal.get(Calendar.MONTH),ToDateCal.get(Calendar.DAY_OF_MONTH)).show();
            }
        });

并设置日期

   FromDate.setText(dt.getStDt());

public String getStDt(){
    return ((dt.getDate())+"/"+(dt.getMonth()+1)+"/"+(dt.getYear()+1900));

}

像这样 在此处输入图像描述

4

1 回答 1

3

这可能会帮助您:

Calendar currDate=Calendar.getInstance();

Calendar weekBackDate=Calendar.getInstance();
weekBackDate.add(Calendar.DAY_OF_MONTH,-7);

编辑 :

仔细查看您的问题,我认为您想在 FromDate 中设置文本,日期在 7 天之前。然后你可以像这样使用上面的代码:

    private void updateToDate(){
        try{
        int iDay;
        int iMonth;
        int iYear;

        iDay=ToDateCal.get(Calendar.DATE);
        iMonth=ToDateCal.get(Calendar.MONTH);
        iMonth=iMonth+1;
        iYear=ToDateCal.get(Calendar.YEAR);

        String sTDate=iDay+"/"+iMonth+"/"+iYear;
        ToDate.setText(sTDate);

        setFromDate();
    }
        catch(Exception ex){
            sResponse=ex.toString();
        }
    }

private void setFromDate(){

     FromDate.setText(String.format("%1$td / %1$tm / %1$tY",ToDateCal));
}
于 2012-10-01T10:57:11.477 回答