如何在Android中获得间隔日期?

时间:2014-08-13 08:35:22

标签: java android

我想获得给定月份中每个月的日期间隔。我有三个编辑文本。我在第一个EditText中输入日期,我在第二个编辑文本中输入30天,我想在30之后显示该日期第三天编辑文字。在那30天之后,它应该显示在第一个EditText中的第三个编辑文本日期。有人请帮助我。感谢欣赏。  像10月1日 - > 11月1日,11月2日 - > 1 dec,2 dec - > 1月1日1月 - > 1 feb

这是我的活动代码

public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.form_details);


        // Get current date by calender
            final Calendar c = Calendar.getInstance();
            year  = c.get(Calendar.YEAR);
            month = c.get(Calendar.MONTH);
            day   = c.get(Calendar.DAY_OF_MONTH);


         etReplacementDate.setText(new StringBuilder()
            // Month is 0 based, just add 1
            .append(month + 1).append("-").append(day).append("-")
            .append(year).append(" "));



         etInterval_Date.setText(new StringBuilder()
            // Month is 0 based, just add 1
            .append(month + 1).append("-").append(day).append("-")
            .append(year).append(" "));



         etReplacementDate.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                showDialog(DATE_OF_REPLACEMENT);
            }
        });


         etInterval_Date.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                showDialog(DATE_OF_INTERVAL);
            }
        });


    @Override 
    protected Dialog onCreateDialog(int id) {
        switch (id) {
        case DATE_OF_REPLACEMENT:

            return new DatePickerDialog(this, pickerListenerReplacement, year, month, day);

        case DATE_OF_INTERVAL:

            return new DatePickerDialog(this, pickerListenerInterval, year, month, day);

        }
        return null;
    }


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

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

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

                // Show selected date 
                etReplacementDate.setText(new StringBuilder().append(month + 1)
                        .append("-").append(day).append("-").append(year)
                        .append(" "));

               }
            };



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

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

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

                    // Show selected date 
                    etInterval_Date.setText(new StringBuilder().append(month + 1)
                            .append("-").append(day).append("-").append(year)
                            .append(" "));

                   }
                };


}

2 个答案:

答案 0 :(得分:1)

在日历中添加天数。使用以下代码,有关详细信息,请参阅此link

      Calendar cal = Calendar.getInstance()

      // print current date
      System.out.println("The current date is : " + cal.getTime());

      // add 30 days to the calendar
      cal.add(Calendar.DATE, 30);
      System.out.println("30 days later: " + cal.getTime());


      // add 60 days to the calendar
      cal.add(Calendar.DATE, 30); // already 30 days added
      System.out.println("60 days later: " + cal.getTime());

答案 1 :(得分:0)

使用GregorianCalendar在日历中添加特定日期..