content_main.xml布局
<? 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 :layout_width= "match_parent"
android :layout_height= "wrap_content"
android :text= "选择购买本书的具体时间"
/>
<!--定义一个DatePicker组件-->
<DatePicker
android :id= "@+id/datePicker"
android :layout_width= "wrap_content"
android :layout_height= "200dp"
android :layout_gravity= "center_horizontal"
android :startYear= "2012"
android :calendarViewShown= "true"
android :spinnersShown= "true"
/>
<!--定义一个TimePicker组件-->
<TimePicker
android :id= "@+id/timePicker"
android :layout_width= "wrap_content"
android :layout_height= "100dp"
android :layout_gravity= "center_horizontal"
/>
<!--显示用户输入日期,时间的控件-->
<EditText
android :id= "@+id/show"
android :layout_width= "match_parent"
android :layout_height= "wrap_content"
android :editable= "false"
android :cursorVisible= "false"
/>
</LinearLayout>
用DatePicker和TimePicker
package com.eson.mycalendar ;
import android.os.Bundle ;
import android.support.v7.app.AppCompatActivity ;
import android.widget.DatePicker ;
import android.widget.EditText ;
import android.widget.TimePicker ;
import java.util.Calendar ;
public class ChooseDate extends AppCompatActivity {
private DatePicker datePicker;
private TimePicker timePicker ;
private int year ;
private int month ;
private int day ;
private int hour ;
private int minute ;
@Override
protected void onCreate (Bundle savedInstanceState) {
super .onCreate(savedInstanceState) ;
setContentView(R.layout. content_main );
datePicker = (DatePicker)findViewById(R.id. datePicker );
timePicker = (TimePicker) findViewById(R.id. timePicker );
//获取当前的年,月,日,小时,分钟
Calendar c=Calendar. getInstance() ;
year = c.get(Calendar. YEAR) ;
month = c.get(Calendar. MONTH) ;
day = c.get(Calendar. DAY_OF_MONTH) ;
hour = c.get(Calendar. HOUR) ;
minute = c.get(Calendar. MINUTE) ;
//初始化DatePicker组件,初始化时指定监听器
datePicker .init( year, month , day , new DatePicker.OnDateChangedListener() {
@Override
public void onDateChanged (DatePicker view, int year , int month , int day) {
ChooseDate. this. year =year;
ChooseDate.this . month=month ;
ChooseDate.this . day=day ;
//显示当前日期,时间
showDate(year, month ,day , hour, minute );
}
});
timePicker .setOnTimeChangedListener( new TimePicker.OnTimeChangedListener() {
@Override
public void onTimeChanged (TimePicker view, int hourOfDay , int minute) {
ChooseDate. this. hour =hourOfDay;
ChooseDate.this . minute=minute ;
//显示当前日期,时间
showDate(year , month, day ,hour , minute);
}
});
}
//定义在EditText中显示当前日期,时间的方法
private void showDate (int year , int month , int day, int hour , int minute) {
EditText show= (EditText) findViewById(R.id. show) ;
show.setText( "您购买日期为:" +year+ "年"+(month+ 1 )+"月" +day+ "日"+hour+ "时" +minute+"分" ) ;
}
}