Android提供了TimePicker和DatePicker两个控件来设置具体时间,前者用来设置时分秒,后者用来设置年月日。此外它们都对应了一个Dialog,让用户可以通过对话框的形式对系统时间进行一些操作
1.Calendar 的使用
在Java开发中,一般通过Calendar的getInstance()来获取一个系统日历对象,再通过这个日历对象获取当前系统的详细时间,用法如下:
Calendar calendar = Calendar.getInstance();
Calendar 中的常用方法:
public int get(Calendar.YEAR); 获取“年”
public int get(Calendar.MONTH); 获取“月”
public int get(Calendar.DAY_OF_MONTH); 获取“日”
public int get(Calendar.HOUR_OF_DAY); 获取“小时”
public int get(Calendar.MINUTE); 获取”分钟“
2.TimePicker的使用
在Android中,TimePicker用来实现时间输入设置,可以选择12或24小时模式。TimePicker的常用方法有以下一些:
(1)public Integer getCurrentHour(); //获取当前时间的小时
(2)public Integer getCurrentMinute(); //获取当前时间的分钟
(3)public boolean is24HourView(); //获取是否为24小时模式
(4)public void setCurrentHour(Integer currentHour); //设置当前时间的小时
(5)public void setCurrentMinute(Integer currentMinute); //设置当前时间的分钟
(6)public void setIs24HourView(Boolean is24HourView); //设置24小时模式
3.DatePicker的使用
在Android中,DatePicker用来实现日期输入设置,日期的设置范围为1900年1月1日至2100年12月31日,一些常用方法:
(1)public CalendarView getCalendarView(); //获取CalendarView
(2)public boolean getCalendarViewShown(); //获取CalendarView是否显示
(3)public int getDayOfMonth(); //获取当前日期的日
(4)public long getMaxDate(); //获取最大日期
(5)public long getMinDate(); //获取最小日期
(6)public int getMonth(); //获取当前日期的月
(7)public boolean getSpinnersShown(); //获取Spinners是否显示
(8)public int getYear(); //获取当前日期的年
(9)public void init(int year,int monthOfYear,int dayOfMonth,DatePicker.OnDateChangedListener onDateChangedListener); //初始化日期
(10)public void setCalendarViewShown(boolean shown); //设置是否显示CalendarView
(11)public void setMaxDate(long maxDate); //设置最大日期
(12)public void setMinDate(long minDate); //设置最小日期
(13)public void setSpinnersShown(boolean shown); //设置是否显示Spinners
(14)public void updateDate(int year,int month,int dayOfMonth); //更新当前日期
4.DatePickerDialog的使用
在Android中,DatePickerDialog用来显示日期对话框。DatePickerDialog的常用方法有以下一些:
(1)public DatePicker getDatePicker(); //获取DatePicker中的日期值
(2)public void onClick(DialogInterface dialog,int which); //响应对话框中的点击事件
(3)public void onDateChanged(DatePicker view,int year,int month,int day); //响应日期改变事件
(4)public void updateDate(int year,int monthOfYear,int dayOfMonth); //更新当前日期
5.TimePickerDialog的使用
在Android中,TimePickerDialog用来显示时间对话框。TimePickerDialog的常用方法有以下一些:
(1)public void onClick(DialogInterface dialog,int which); //响应对话框中的点击事件
(2)public void onTimeChanged(TimePicker view,int hourOfDay,int minute); //响应时间改变事件
(3)public void updateTime(int hourOfDay,int minuteOfHour); //更新当前时间
小实例:
package com.example.lowp;
import java.net.DatagramPacket;
import java.util.Calendar;
import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.DatePickerDialog.OnDateSetListener;
import android.app.TimePickerDialog;
import android.app.TimePickerDialog.OnTimeSetListener;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.DatePicker.OnDateChangedListener;
import android.widget.TimePicker;
import android.widget.TimePicker.OnTimeChangedListener;
public class MainActivity extends Activity {
private TimePicker timePicker;
private DatePicker datePicker;
private Calendar calendar;
private Button but_date;
private Button but_time;
private int year,month,day,hour,minute;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
but_date = (Button)findViewById(R.id.but_date);
but_time = (Button)findViewById(R.id.but_time);
calendar = Calendar.getInstance();
/**
* 获取系统年月日时分的信息
*/
year = calendar.get(Calendar.YEAR);
month = calendar.get(Calendar.MONTH);
day = calendar.get(Calendar.DAY_OF_MONTH);
hour = calendar.get(Calendar.HOUR_OF_DAY);
minute = calendar.get(Calendar.MINUTE);
setTitle(year + "-" + month + "-" + day + "-" + hour + "-" + minute );
timePicker = (TimePicker)findViewById(R.id.timePicker);
datePicker = (DatePicker)findViewById(R.id.datePicker);
datePicker.init(year, month, day, new OnDateChangedListener() {
@Override
public void onDateChanged(DatePicker arg0, int year, int month, int day) {
setTitle(year + "-" + (month+1) + "-" + day );
}
});
timePicker.setOnTimeChangedListener(new OnTimeChangedListener() {
@Override
public void onTimeChanged(TimePicker arg0, int hour, int minute) {
setTitle(hour + ":" + minute);
}
});
but_date.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
new DatePickerDialog(MainActivity.this, new OnDateSetListener() {
@Override
public void onDateSet(DatePicker arg0, int year, int month, int day) {
setTitle(year + "-" + (month+1) + "-" + day );
}
}, year, month, day).show();
}
});
but_time.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
new TimePickerDialog(MainActivity.this, new OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker arg0, int hour, int minute) {
setTitle(hour + ":" + minute);
}
}, hour, minute, true).show();
}
});
}
}
运行效果:

通过设置控件来设置标题
下载地址http://download.youkuaiyun.com/detail/qq_24789865/9098637