Android中的日期和时间选择器

来源:互联网 发布:购物价格走势软件 编辑:程序博客网 时间:2024/05/17 07:02

抽出来了一个方法来选择时间(这里自己规定的只能选择当前时间以后的日期),日期选择完毕就会自动弹出时间选择器让选择时间

    /**     * 选择日期和时间     */    private void selectDataAndTime() {        // 获取当前时间        final Calendar calendar = Calendar.getInstance();        /*         * toast("当前时间是:" + calendar.get(Calendar.YEAR) + "," +         * calendar.get(Calendar.MONTH) + "," +         * calendar.get(Calendar.DAY_OF_MONTH));         */        // 日期选择对话框        dataPickerDialog = new DatePickerDialog(this, new OnDateSetListener() {            @Override            public void onDateSet(DatePicker view, int year, int month, int day) {                // 判断用户选择的日期是否合法                if (calendar.get(Calendar.YEAR) > year) {                    toast("时间有误,请从新选择");                    return;                } else if (calendar.get(Calendar.YEAR) == year) {                    if (calendar.get(Calendar.MONTH) > month) {                        toast("时间有误,请从新选择");                        return;                    } else if (calendar.get(Calendar.MONTH) == month) {                        if (calendar.get(Calendar.DAY_OF_MONTH) > day) {                            toast("时间有误,请从新选择");                            return;                        } else {                            strDate = year + "-" + (month + 1) + "-" + day;                            if (timePickerDialog != null) {                                timePickerDialog.show();                            }                        }                    } else {                        strDate = year + "-" + (month + 1) + "-" + day;                        if (timePickerDialog != null) {                            timePickerDialog.show();                        }                    }                } else {                    strDate = year + "-" + (month + 1) + "-" + day;                    if (timePickerDialog != null) {                        timePickerDialog.show();                    }                }            }        }, calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar                .get(Calendar.DAY_OF_MONTH));        // 时间选择对话框        timePickerDialog = new TimePickerDialog(this, new OnTimeSetListener() {            @Override            public void onTimeSet(TimePicker view, int hour, int minute) {                strTime = strDate + " " + hour + ":" + minute;                timeTt.setText(strTime);            }        }, calendar.get(Calendar.HOUR), calendar.get(Calendar.MINUTE), true);    }
1 0