Android选择年月日时分实现步骤
流程图
graph LR
A(开始)
B(创建DatePickerDialog)
C(设置日期选择监听器)
D(创建TimePickerDialog)
E(设置时间选择监听器)
F(显示DatePickerDialog)
G(显示TimePickerDialog)
H(获取选择的日期和时间)
I(结束)
A-->B
B-->C
C-->D
D-->E
E-->F
F-->G
G-->H
H-->I
实现步骤
- 创建DatePickerDialog
- 设置日期选择监听器
- 创建TimePickerDialog
- 设置时间选择监听器
- 显示DatePickerDialog
- 显示TimePickerDialog
- 获取选择的日期和时间
代码实现
1. 创建DatePickerDialog
// 创建一个Calendar对象,用于获取当前日期
Calendar calendar = Calendar.getInstance();
// 获取当前年、月、日
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);
// 创建DatePickerDialog实例,并设置日期选择监听器
DatePickerDialog datePickerDialog = new DatePickerDialog(MainActivity.this, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
// 在此处处理选择的日期
// year: 选择的年份
// month: 选择的月份(注意:从0开始,需要加1)
// dayOfMonth: 选择的日期
}
}, year, month, day);
2. 设置日期选择监听器
// 创建一个Calendar对象,用于获取当前日期
Calendar calendar = Calendar.getInstance();
// 获取当前年、月、日
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);
// 创建DatePickerDialog实例,并设置日期选择监听器
DatePickerDialog datePickerDialog = new DatePickerDialog(MainActivity.this, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
// 在此处处理选择的日期
// year: 选择的年份
// month: 选择的月份(注意:从0开始,需要加1)
// dayOfMonth: 选择的日期
}
}, year, month, day);
3. 创建TimePickerDialog
// 创建一个Calendar对象,用于获取当前时间
Calendar calendar = Calendar.getInstance();
// 获取当前小时、分钟
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int minute = calendar.get(Calendar.MINUTE);
// 创建TimePickerDialog实例,并设置时间选择监听器
TimePickerDialog timePickerDialog = new TimePickerDialog(MainActivity.this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
// 在此处处理选择的时间
// hourOfDay: 选择的小时
// minute: 选择的分钟
}
}, hour, minute, true);
4. 设置时间选择监听器
// 创建一个Calendar对象,用于获取当前时间
Calendar calendar = Calendar.getInstance();
// 获取当前小时、分钟
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int minute = calendar.get(Calendar.MINUTE);
// 创建TimePickerDialog实例,并设置时间选择监听器
TimePickerDialog timePickerDialog = new TimePickerDialog(MainActivity.this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
// 在此处处理选择的时间
// hourOfDay: 选择的小时
// minute: 选择的分钟
}
}, hour, minute, true);
5. 显示DatePickerDialog
datePickerDialog.show();
6. 显示TimePickerDialog
timePickerDialog.show();
7. 获取选择的日期和时间
在DatePickerDialog的日期选择监听器的onDateSet方法中,可以通过参数获取选择的年、月、日,在TimePickerDialog的时间选择监听器的onTimeSet方法中,可以通过参数获取选择的小时、分钟。
DatePickerDialog datePickerDialog = new DatePickerDialog(MainActivity.this, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
// 在此处处理选择的日期
// year: 选择的年份
// month: 选择的月份(注意:从0开始,需要加1)
// dayOfMonth: 选择的日期
// 在此处显示TimePickerDialog
timePickerDialog.show();
}
}, year, month, day);
TimePickerDialog timePickerDialog