Android自学日记使用DatePicker以及TimePicker显示当前日期和时间

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android自学日记使用DatePicker以及TimePicker显示当前日期和时间相关的知识,希望对你有一定的参考价值。

DatePicker

1.获取一个日历对象:

Calendar cal=Calendar.getInstance();

2.获取当前日期及时间:

int year=cal.get(Calendar.YEAR);

int month=cal.get(Calendar.MONTH)+1;//特殊的是Calendar中月份从0开始计数,所以加1得到常规月份

int day=cal.get(Calendar.DAY_OF_MONTH);

int hour=cal.get(Calendar.HOUR_OF_DAY);

int minute=cal.get(Calendar.MINUTE_OF_HOUR);

setTitle(year+"-"+month+"-"+day+"-"+hour+":"+minute);

3.初始化datePicker

datePicker.init(year,month,day,new OnDateChangedListener()){

@Override

//监听用到的方法

public void onDateChanged(DatePicker view,int year,int cal.get(Calendar.MONTH_OF_YEAR),int dayOfMonth){

//使标题上的日期能随着选择的改变而改变

setTitle(year+"-"+(monthOfYear+1)+"-"+dayOfMonth);

}

}

使用java的工具类,获取当前的年月日时分

月份是从0开始,所以获取的时候要+1

日:使用day_of_month方法是获取当前月的那天

时:使用hour_of_day方法是获取当天的几时

DatePickerDialog  以对话框的形式选择日期

代码:

new DataPickerDialog(this,new OnDateSetListener(){

@Override

public void onDateSet(DatePicker view,int year,int monthOfYear,int dayOfMonth){

setTitle(year+":"+(monthOfYear+1)+"-"+dayOfMonth);

}

},year,cal.get(Calendar.MONTH),day).show();

其中参数year,get(Calendar).MONTH,day相当于init方法中的初始化。

千万别忘记写.show()方法,否则不会显示在页面上。

TimePicker

TimePicker timePicker=(TimePicker)findViewById(R.id.timePicker1);

//时间选择器不需要手动初始化,默认初始化为当前的时间

timePicker.setOnTimeChangedListener(new OnTimeChangedListener()){

@Override

public void onTimeChanged(TimePicker view,int hourOfDay,int minute){

setTitle(hourOfDay+"-"+minute);

}

}

 

DatePicker日期选择器,需要在初始化的时候(init)设置监听OnDateChangeListener并实现监听方法,TimePicker时间选择器不需要初始化只需要设置监听OnTimeChangedListener方法即可

TimePickerDailog

代码:

  new TimePickerDialog(context,callBack,hourOfDay,minute,is24HourView()).show();

其中参数hourOfDay,minute需要自己定义,也就是说TimePickerDialog不会自行初始化时间,参数is24HourView为Boolean类型

sdk方法中的时间参数只有month,day会是这种形式monthOfYear,dayOfMonth,因为月数,日数依赖于后者

 

总结: 

  TimePickerDialog和TimePicker不同的是,它不用在布局文件中声明,直接通过类就可以new出来。在android中这种弹出式的UI一般都不用在布局文件中声明,直接用类就可以搞定,一般要显示他们都要显示地调用show()方法,比如Toast这个类也是一样。

技术分享

 

   

以上是关于Android自学日记使用DatePicker以及TimePicker显示当前日期和时间的主要内容,如果未能解决你的问题,请参考以下文章

Android自学日记Android Fragment 真正的完全解析(上)

Android自学日记关于Bitmap的理解和使用-不完整版

自学python的日记分享

编辑 Android 日记条目

车联网开发日记11

Android时间选择器,选择日期DatePicker 简单详解demo及教程