Canlendar
//获取当前的年月日时分信息(自动显示当前)
Calendar c=Calendar.getInstance();//获取一个日历对象
int year = c.get(Calendar.YEAR);
int month=c.get(Calendar.MONTH) ;//从0开始
int day=c.get(Calendar.DAY_OF_MONTH);
int hour=c.get(Calendar.HOUR_OF_DAY);
int minute=c.get(Calendar.MINUTE);
int second = c.get(Calendar.SECOND);
DatePicker:日历选择器。(年月日)
需要初始化 初始化方法:datePicker.init()
//初始化日期,参数要用canlendar自己获取
date_picker.init(year, month, day, new OnDateChangedListener() {
//监听日期的改变,拿里面的参数来用
@Override
public void onDateChanged(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
// TODO Auto-generated method stub
//Toast.makeText(MainActivity.this, "现在时间:"+year+"-"+(monthOfYear+1)+"-"+dayOfMonth, 0).show();
tv_date.setText("现在日期:"+year+"-"+(monthOfYear+1)+"-"+dayOfMonth);
}
});
监听器onDateChangeedListener()
TimePicker:时间选择器。(时 分)
无需初始化
//设置时间为24小时制
time_picker.setIs24HourView(true);
time_picker.setOnTimeChangedListener(new OnTimeChangedListener() {
@Override
public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
// TODO Auto-generated method stub
tv_time.setText("现在时间:"+hourOfDay+":"+minute);
}
});
对话框形式的日历选择器
//上下文;监听器;初始化年月日(当前的年月日);
new DatePickerDialog(this, new OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
//拿到改动后的年月日
}
}, year, month, day).show();//show显示出来
对话框形式的时间选择器
new TimePickerDialog(this, new OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
//拿到改动后的时分
}
}, hour, minute, true).show();
四种对比:
DatePicker 和 TimePicker是直接显示在屏幕上的,要在布局文件中定义
DatePickerDialog和TimePickerDialog以弹出对话框的形式显示在屏幕上,不用在布局文件中定义