Java Android使用数据过期选择器

Java Android使用数据过期选择器,java,android,Java,Android,我想从我的日期选择器那里得到日期/月/年。我有一个问题,就是一个月一天永远都不正确。我给你下面的代码。月份是正确的,但当月份为12月时失败。这一天永远不正确 public class myOnDateChangedListener implements OnDateChangedListener { public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayO

我想从我的日期选择器那里得到日期/月/年。我有一个问题,就是一个月一天永远都不正确。我给你下面的代码。月份是正确的,但当月份为12月时失败。这一天永远不正确

    public class myOnDateChangedListener implements OnDateChangedListener {

    public void onDateChanged(DatePicker view, int year, int monthOfYear,
            int dayOfMonth) {
        if (view.getId() == R.id.datePicker1) {
            startDay = view.getDayOfMonth();
            if(view.getMonth() == 11){
                startMonth = 12;
            }else{
            startMonth = (view.getMonth() + 1);
            }
            startYear = view.getYear();

        }
        if (view.getId() == R.id.datePicker2) {
            endDay = view.getDayOfMonth();
            if(view.getMonth() == 11){
                endMonth = 12;
            }else{
            endMonth = (view.getMonth() + 1);
            }

            endYear = view.getYear();

        }

    }

}

为什么使用视图值,而不是方法中传递的值?也不需要月==11的特殊情况。尝试此代码(您自己修改):

编辑:在阅读了您的评论之后,我觉得您遇到的问题可能是因为您方面的其他一些困惑:我的意思是,Java Date类构造函数如下所示:


初始化从1900年1月1日开始的日期。警告:月份介于0和11之间,日期介于1和31之间。看看构造函数。如果要检测问题是在DatePicker本身中还是在Java代码中,请尝试记录日志以缩小原因的范围。

您能确切说明问题是什么吗?当您选择十二月时,应用程序会崩溃吗?或者如果它返回了错误的值,那么它返回的值是多少?当您选择十二月时,它会将mysql数据库中的月份设置为00,并且日期也不正确。
public void onDateChanged(DatePicker view, int year, int monthOfYear,
            int dayOfMonth) {
        if (view.getId() == R.id.datePicker1) {
            startDay = dayOfMonth;
            startMonth = monthOfYear + 1;
            startYear = year;
        }
        if (view.getId() == R.id.datePicker2) {
            endDay = dayOfMonth;
            endMonth = monthOfYear + 1;
            endYear = year;
        }

    }
public Date(int year, int month, int date)