当前位置: 首页 > 工具软件 > Date Picker > 使用案例 >

DatePicker 和 TimePicker

潘高岑
2023-12-01

Android API中提供的 DatePicker(日期选择器) 和 TimePicker(时间选择器) 两种对象实现动态输入日期与时间的功能

使用 DatePicker 和 TimePicker 显示当前日期和时间:

//1.DatePickerDialog 和 TimePickerDialog 两种实现动态输入日期和时间的对话框

2.两组监测日期和时间改变的监听器

2.1 OnDateChangedListener() 和 OnTimeChangedListener()
当用户更改了 DatePicker 里的年、月、日时,将触发 OnDateChangedListener 监听器的 onDateChanged() 事件
当用户更改了 TimePicker 里的时、分时,将触发 OnTimeChangedListener 监听器的 onTimeChanged() 事件

//.2 OnDateSetListener()和OnTimeSetListener
//当用户更改了DatePickerDialog里的年、月、日时,将触发OnDateSetListener监听器的onDateSet()事件
//当用户更改了TimePickerDialog里的时、分时,将触发OnTimeSetListener监听器的onTimeSet()事件

3.DatePicker 和 TimePicker 使用:

3.1 TimePicker 时间选择器

TimePicker tp= (TimePicker)findViewById(R.id.TimePicker01);  //取得TimePicker对象

tp.setIs24HourView (true);  //并设置为24小时制

tp.setOnTimeChangedListener (new OnTimeChangedListener () {
	public void onTimeChanged(TimePicker view, int hourOfDay, int Minute) {}
	});

3.2 DatePicker 日期选择器

DatePicker dp= (DatePicker)findViewById(R.id.DatePicker01); //取得DatePicker对象

Calendar calendar = Calendar.getInstance();//获取当前时间  

 //以init()设置初始值与OnDateChangedListener()
dp.init (year, month, day, new OnDateChangedListener () {
 			    public void onDateChanged(DatePicker view,int Year,int monthOfYear,int dayOfMonth) {}
 			});

如下例:

private int hour_on;    //定时开机
private int minutes_on;
private int year_on;
private int month_on;
private int day_on;

	DatePicker datePicker_off = (DatePicker) findViewById(R.id.datePicker_off);  //定时关机日期
	TimePicker timePicker_off = (TimePicker) findViewById(R.id.timePicker_off);  //定时关机时间
	timePicker_off.setIs24HourView(true);
	
	//定时关机 时间选择器监听事件
    timePicker_off.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {
        @Override
        public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
            hour_off = hourOfDay;
            minutes_off = minute;
        }
    });
    
    
		//定时关机 日期选择器监听 
		Calendar calendar_off = Calendar.getInstance();  //获取当前时间对象
        int now_year_off = calendar_off.get(Calendar.YEAR);  //获取年
        int now_month_off = calendar_off.get(Calendar.MONTH)+1; //获取月
        int now_day_off = calendar_off.get(Calendar.DAY_OF_MONTH); //获取日

        datePicker_off.init(now_year_off,now_month_off,now_day_off,new DatePicker.OnDateChangedListener() {
            public void onDateChanged(DatePicker view, int year, int monthOfYear,
                                      int dayOfMonth) {
                year_off = year;
                month_off = monthOfYear;
                day_off = dayOfMonth;
            }
        });	
 类似资料: