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显示当前日期和时间的更多相关文章

  1. Android 使用DatePicker以及TimePicker显示当前日期和时间

    课程内容1.介绍DatePicker和TimePicker两种实现动态输入日期和事件的功能2.介绍DatePickerDialog和TimePickerDialog来年耕种实现动态输入日期和事件的对话 ...

  2. Android 自学之日期DatePicker、时间TimePicker选择器

    日期(DatePicker).时间(TimePicker)是两个比较易用的控件,他们都是从帧布局FrameLayout派生而出的:他们在FrameLayout的基础上提供了一些方法来获取当前用户所选择 ...

  3. Android多种方法显示当前日期和时间

    文章选自StackOverflow(简称:SOF)精选问答汇总系列文章之一,本系列文章将为读者分享国外最优质的精彩问与答,供读者学习和了解国外最新技术.本文探讨Android显示当前日期和时间的方法. ...

  4. WdatePicker文本框显示当前日期和时间限制<My97DatePicker两个日期范围不超过30天,第一个小于第二个,都不大于当前日期 >

    My97DatePicker是很不错的一个日期选择插件,体积只有几十k但是功能非常强大.官网:http://www.my97.net/ 能满足很多苛刻的要求. WdatePicker文本框显示当前日期 ...

  5. 【Android自学日记】【转】Android Fragment 真正的完全解析(下)

    上篇博客中已经介绍了Fragment产生原因,以及一些基本的用法和各种API,如果你还不了解,请看:Android Fragment 真正的完全解析(上). 本篇将介绍上篇博客提到的:如何管理Frag ...

  6. 【Android自学日记】【转】Android Fragment 真正的完全解析(上)

    自从Fragment出现,曾经有段时间,感觉大家谈什么都能跟Fragment谈上关系,做什么都要问下Fragment能实现不~~~哈哈,是不是有点过~~~ 本篇博客力求为大家说明Fragment如何产 ...

  7. 【Android自学日记】两种适配器的使用

    ArrayAdapter适配器: (1)用于显示基本的文字内容 (2)基本使用过程:新建适配器---创建或加载数据源---适配器加载数据源---视图加载适配器 ArrayAdapter(上下文,当前L ...

  8. 【Android自学日记】五大布局常用属性

    线性布局(LinearLayout)常用属性: android:orientation="vertical"--决定子类控件的排布方式(vertical垂直:horizontal水 ...

  9. 【Android自学日记】搭建Android开发环境

    搭建Android应用开发环境所需工具 1_> JDK(JAVA Development)推荐使用6.0以后版本 配置环境变量(以下是环境变量的具体内容及介绍) ================ ...

随机推荐

  1. JSONP是如何工作的

    我对这个问题的探究来源于一个需求: 当访问某个页面的时候,需要向另外一个网站报告一下这次访问的信息. 其实发一个跨域的请求就能大致实现这个需求.我们发跨域的例子其实很常见,例如请求一个第三方的图片.引 ...

  2. 做中学(Learning by Doing)之背单词-扇贝网推荐

    做中学(Learning by Doing)之背单词-扇贝网推荐 看完杨贵福老师(博客,知乎专栏,豆瓣)的「继续背单词,8个月过去了」,我就有写这篇文章的冲动了,杨老师说: 有时候我会感觉非常后悔,如 ...

  3. Android开发之画图的实现

    Android开发之画图的实现    四天前上完安卓的第一节课,真的是一脸懵逼,尽管熊哥说和java是差不多的,然而这个包和那个包之间的那些转换都是些什么鬼呀!!!但是四天的学习和操作下来,我觉得安卓 ...

  4. Android/Linux下CGroup框架分析及其使用

    1 cgroup介绍 CGroup是control group的简称,它为Linux kernel提供一种任务聚集和划分的机制,可以限制.记录.隔离进程组(process groups)所使用的资源( ...

  5. How to Disable Strict SQL Mode in MySQL 5.7

    If your app was written for older versions of MySQL and is not compatible with strict SQL mode in My ...

  6. mac 10.11.6 自带apache配置记录

    详细记录使用自带apache的一些问题 开启apache服务 作为2016年的新版本os,在系统偏好设置里没有网络共享了,所以可以通过终端,直接开启apache服务器: 开启apache:sudo a ...

  7. 重复加载同一个jqgrid

    重复加载同一个jqgrid时需要先清除原先的数据,再进行加载新的数据: 清除时使用方法:jQuery.jgrid.gridUnload('jqGridId'); 同时还有一个GridDestroy的方 ...

  8. BZOJ 1176: [Balkan2007]Mokia

    1176: [Balkan2007]Mokia Time Limit: 30 Sec  Memory Limit: 162 MBSubmit: 2012  Solved: 896[Submit][St ...

  9. jquery使用案例

    表单验证 Dom实现表单验证 通过在form标签的submit上绑定一个onclick事件,用户点击事,触发这个事件,执行Checkvalid()函数进行对表单中的元素值验证,验证通过之后,继续让su ...

  10. centos tar压缩与解压缩命令大全

    tar命令详解 -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用 ...