在Android中关于日期时间的类有TimePicker、DatePicker、TimePickerDialog、DatePickerDialog、Calendar。其中TimePickerDialog、DatePickerDialog是对话框形式。java
1、TimePicker
查看一个在24小时或上午/下午模式下一天的时间。android
1.重要方法
setCurrentMinute(Integer currentMinute)设置当前时间的分钟
getCurrentMinute()获取当前时间的分钟
setEnabled(boolean enabled)设置当前视图是否能够编辑。
m_TimePicker.setIs24HourView(true);设置为24小时制显示
setOnTimeChangedListener(TimePicker.OnTimeChangedListener onTimeChangedListener)当时间改变时调用app
2、DatePicker
1.重要方法
getDayOfMonth():获取当前Day
getMonth():获取当前月
getYear()获取当前年ide
3、TimePickerDialog、DatePickerDialog布局
updateDate(int year, int monthOfYear, int dayOfMonth):更新日期ui
=========================================this
案例定义一个布局文件timepicker.xmlspa
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/timeDisplay" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" /> <Button android:id="@+id/pickTime" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Change the time" /> </LinearLayout>
2.java文件:TimePickerDemo.java
package 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 { private TextView mtextView; private Button mbutton; private int mHour,mMinute; static final int TIME_DIALOG=0; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.timepicker); final Calendar calendar =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); } private OnClickListener clickListener = 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 String pad(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 OnTimeSetListener mTimeSetListener=new OnTimeSetListener() { @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) { // TODO Auto-generated method stub mHour= hourOfDay; mMinute=minute; updateDisplay(); } }; }