在Android中关于日期时间的类有TimePicker、DatePicker、TimePickerDialog、DatePickerDialog、Calendar。其中TimePickerDialog、DatePickerDialog是对话框形式。
一、TimePicker
查看一个在24小时或上午/下午模式下一天的时间。
1.重要方法
setCurrentMinute(Integer currentMinute)设置当前时间的分钟
getCurrentMinute()获取当前时间的分钟
setEnabled(boolean enabled)设置当前视图是否可以编辑。
m_TimePicker.setIs24HourView(true);设置为24小时制显示
setOnTimeChangedListener(TimePicker.OnTimeChangedListener onTimeChangedListener)当时间改变时调用
二、DatePicker
1.重要方法
getDayOfMonth():获取当前Day
getMonth():获取当前月
getYear()获取当前年
三、TimePickerDialog、DatePickerDialog
以对话框形式显示日期时间视图
四、Calendar
日历是设定年度日期对象和一个整数字段之间转换的抽象基类,如,月,日,小时等。
updateDate(int year, int monthOfYear, int dayOfMonth):更新日期
案例定义一个布局文件timepicker.xml
2.java文件:TimePickerDemo.javapackage com.test;
import java.util.Calendar;
import android.app.Activity;
import android.app.Dialog;
import android.app.TimePickerDialog;
import android.app.TimePickerDialog.OnTimeSetListener;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.TimePicker;
public class TimePickerDemo extends Activity {
privateTextViewmtextView;
privateButtonmbutton;
privateint mHour,mMinute;
staticfinal int TIME_DIALOG=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.timepicker);
final Calendarcalendar =Calendar.getInstance();
this.mHour=calendar.get(Calendar.HOUR_OF_DAY);
this.mMinute=calendar.get(Calendar.MINUTE);
mtextView=(TextView)findViewById(R.id.timeDisplay);
mbutton=(Button)findViewById(R.id.pickTime);
mbutton.setOnClickListener(clickListener);
}
privateOnClickListenerclickListener = new OnClickListener() {
@Override
public void onClick(View v) {
showDialog(TIME_DIALOG);
}
};
private void updateDisplay() {
// TODO Auto-generated method stub
mtextView.setText(new StringBuilder()
.append(pad(mHour)).append(:)
.append(pad(mMinute)));
}
private Stringpad(int c)
{
// TODO Auto-generated method stub
if(c>=10)
{
return String.valueOf(c);
}else
{
return 0+String.valueOf(c);
}
}
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case TIME_DIALOG:
return new TimePickerDialog(this,mTimeSetListener,mHour,mMinute, false);
}
return null;
}
private OnTimeSetListenermTimeSetListener=new OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
// TODO Auto-generated method stub
mHour= hourOfDay;
mMinute=minute;
updateDisplay();
}
};
}