在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
01
<?xml version="1.0" encoding="utf-8"?>
02
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
03
android:layout_width="match_parent"
04
android:layout_height="match_parent"
05
android:orientation="vertical" >
06
<TextView
07
android:id="@+id/timeDisplay"
08
android:layout_width="wrap_content"
09
android:layout_height="wrap_content"
10
android:text="" />
11
<Button
12
android:id="@+id/pickTime"
13
android:layout_width="wrap_content"
14
android:layout_height="wrap_content"
15
android:text="Change the time" />
16
17
</LinearLayout>
2.java文件:TimePickerDemo.java
01
package com.test;
02
import java.util.Calendar;
03
04
import android.app.Activity;
05
import android.app.Dialog;
06
import android.app.TimePickerDialog;
07
import android.app.TimePickerDialog.OnTimeSetListener;
08
import android.os.Bundle;
09
import android.view.View;
10
import android.view.View.OnClickListener;
11
import android.widget.Button;
12
import android.widget.TextView;
13
import android.widget.TimePicker;
14
15
public class TimePickerDemo extends Activity {
16
17
private TextView mtextView;
18
19
private Button mbutton;
20
private int mHour,mMinute;
21
static final int TIME_DIALOG=0;
22
23
@Override
24
protected void onCreate(Bundle savedInstanceState) {
25
// TODO Auto-generated method stub
26
super.onCreate(savedInstanceState);
27
28
setContentView(R.layout.timepicker);
29
30
final Calendar calendar =Calendar.getInstance();
31
32
this.mHour=calendar.get(Calendar.HOUR_OF_DAY);
33
34
this.mMinute=calendar.get(Calendar.MINUTE);
35
36
mtextView=(TextView)findViewById(R.id.timeDisplay);
37
mbutton =(Button)findViewById(R.id.pickTime);
38
39
mbutton.setOnClickListener(clickListener);
40
41
}
42
43
private OnClickListener clickListener = new OnClickListener() {
44
45
@Override
46
public void onClick(View v) {
47
showDialog(TIME_DIALOG);
48
}
49
};
50
51
private void updateDisplay() {
52
// TODO Auto-generated method stub
53
mtextView.setText(new StringBuilder()
54
.append(pad(mHour)).append(":")
55
.append(pad(mMinute)));
56
}
57
58
private String pad(intc)
59
{
60
// TODO Auto-generated method stub
61
if(c>=10)
62
{
63
return String.valueOf(c);
64
}else
65
{
66
return "0"+String.valueOf(c);
67
}
68
}
69
@Override
70
protected Dialog onCreateDialog(int id) {
71
72
switch (id) {
73
case TIME_DIALOG:
74
75
return newTimePickerDialog(this,mTimeSetListener,mHour,mMinute, false);
76
77
78
}
79
return null;
80
}
81
82
private OnTimeSetListener mTimeSetListener=new OnTimeSetListener() {
83
84
@Override
85
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
86
// TODO Auto-generated method stub
87
mHour= hourOfDay;
88
mMinute=minute;
89
updateDisplay();
90
}
91
};
92
}