TimePickerView時間選擇器,選擇近兩個月的日期

private void initTimePicker1() {//選擇出生年月日
        //控制時間範圍(如果不設置範圍,則使用默認時間1900-2100年,此段代碼可註釋)
        //因爲系統Calendar的月份是從0-11的,所以如果是調用Calendar的set方法來設置時間,月份的範圍也要是從0-11
        Date curDate = new Date(System.currentTimeMillis());//獲取當前時間
        SimpleDateFormat formatter_year = new SimpleDateFormat("yyyy ");
        String year_str = formatter_year.format(curDate);
        int year_int = (int) Double.parseDouble(year_str);


        SimpleDateFormat formatter_mouth = new SimpleDateFormat("MM ");
        String mouth_str = formatter_mouth.format(curDate);
        int mouth_int = (int) Double.parseDouble(mouth_str);

        SimpleDateFormat formatter_day = new SimpleDateFormat("dd ");
        String day_str = formatter_day.format(curDate);
        int day_int = (int) Double.parseDouble(day_str);

        //獲取兩個月前日期
        SimpleDateFormat YYYY = new SimpleDateFormat("yyyy");
        SimpleDateFormat MM = new SimpleDateFormat("MM");
        SimpleDateFormat DD = new SimpleDateFormat("dd");
        Calendar c = Calendar.getInstance();
        c.setTime(new Date());
        c.add(Calendar.MONTH, -2);
        Date m = c.getTime();

        int towy = (int) Double.parseDouble(YYYY.format(m));
        int towm = (int) Double.parseDouble(MM.format(m));
        int towd = (int) Double.parseDouble(DD.format(m));

        Log.d("zl","獲取兩月前:"+towy+towm+towd);


        Calendar selectedDate = Calendar.getInstance();//系統當前時間
        Calendar startDate = Calendar.getInstance();
        startDate.set(towy, towm-1, towd);//需要-1,此爲下標的
        Calendar endDate = Calendar.getInstance();
        endDate.set(year_int, mouth_int - 1, day_int);

        //時間選擇器
        TimePickerView pvTime1 = new TimePickerView.Builder(this, new TimePickerView.OnTimeSelectListener() {
            @Override
            public void onTimeSelect(Date date, View v) {//選中事件回調
                // 這裏回調過來的v,就是show()方法裏面所添加的 View 參數,如果show的時候沒有添加參數,v則爲null
                /*btn_Time.setText(getTime(date));*/

//                tvTime.setText(getTime(date));
                String senddate = getTime(date);
                ActionResult result = new ActionResult(TransResult.SUCC_QUERY_ALL, senddate);
                finish(result);
            }
        })
                .setTitleText("選擇日期")//標題
                .setCancelText("取消")//取消按鈕文字
                .setSubmitText("確認")//確認按鈕文字
                .setType(new boolean[]{true, true, true, false, false, false}) //年月日時分秒 的顯示與否,不設置則默認全部顯示
                .setLabel("年", "月", "日", "", "", "")//默認設置爲年月日時分秒
                .isCenterLabel(false)
                .setTextColorCenter(Color.BLACK)//設置選中項的顏色
                .setTextColorOut(Color.GRAY)//設置沒有被選中項的顏色
                .setContentSize(21)
                .setDate(selectedDate)
                .setLineSpacingMultiplier(1.2f)
//                .setTextXOffset(-10, 0,10, 0, 0, 0)//設置X軸傾斜角度[ -90 , 90°]
                .setRangDate(startDate, endDate)
//                .setBackgroundId(0x00FFFFFF) //設置外部遮罩顏色
                .setDividerColor(Color.GRAY)//設置分割線的顏色
                .isDialog(true)//是否顯示爲對話框樣式,不設置則默認底部彈出
                .setDecorView(null)
                .build();
//        pvTime1.showDialog();
        pvTime1.show();
    }

    private String getTime(Date date) {//可根據需要自行截取數據顯示
//        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
        return format.format(date);
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章