0

我想为我的应用程序创建一个妊娠期计算器。我想获取用户在日期时间选择器中选择的日期,并将该日期提前 9 个月零 10 天,然后在 textView 中打印出来。我可以从日期选择器中获取日期并将日期打印到 textView 中,但我现在需要做的是将日期提前 9 个月零 10 天。有任何想法吗?这是我当前从日期选择器获取日期并将其打印到文本视图的代码。

public class GestationPeriod extends Activity {
DatePicker date;
TextView gestationperiodView;

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.gestationperiod);
    setupVariables();
}

public void calculate(View v){      
    int gestationPeriodMonth = 9;
    int gestationPeriodDay = 10;
    int year = date.getYear();
    int month = date.getMonth();
    int day = date.getDayOfMonth(); 
    gestationperiodView.setText("" + day + " / " + month + " / " + year);

}
private void setupVariables(){      
    date = (DatePicker) findViewById(R.id.datePicker1);
    gestationperiodView = (TextView) findViewById(R.id.editText1);  
}      

您的帮助将不胜感激。

4

1 回答 1

1

使用java.util.Calendar.add(int field, int amount)。在得到日、月、年之后,在 之前gestationperiodView.setText,插入:

Calendar c = new Calendar();
c.set(year, month-1, day);
c.add(Calendar.DAY_OF_MONTH, gestationPeriodDay);
c.add(Calendar.MONTH, gestationPeriodMonth);
day = c.get(Calendar.DAY_OF_MONTH);
month = c.get(Calendar.MONTH) + 1;
year = c.get(Calendar.YEAR);
于 2012-07-02T07:56:15.153 回答