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. CentOS 6.5 升级 PHP 到5.6

    1. 首先先看下已安装的版本: yum list installed | grep php 可以看到我的都是5.3的 php.x86_64 -.el6_8 @updates php-cli.x86_6 ...

  2. 如何在一台新电脑上配置JAVA开发环境

    对于JAVA新手来说,刚开始要学JAVA,而自己的电脑上毫无与JAVA开发有关的环境,应该如何进行配置呢? (安卓新手也需要JAVA开发环境) 第一步,下载.安装java JRE JRE (Java ...

  3. [EF1]POCOs(Plain Old C# Object)Entity Framework 4.x: POCOs入门

    原文链接:http://www.cnblogs.com/hjzhang/archive/2011/05/18/2050530.html POCOs 是在Visual Studio 2010和ASP.N ...

  4. tkinter事件机制

    一.tkinter.Event tkinter的事件机制跟js是一样的,也是只有一个Event类,这个类包罗万象,集成了键盘事件,鼠标事件,包含各种参数. 不像java swing那种强类型事件,sw ...

  5. 用vue.js学习es6(二):let和const使用

    一.运行及关闭运行: 在上一节中我们用shift+右击在C:\vue\es6文件夹中打开命令行使用:npm run dev,打开了我们的vue界面. 如果要关闭则在命令行中按住ctrl+C则可以关闭. ...

  6. neo4j-简介,安装

    1. Neo4j简介 Neo4j是一个用Java实现的.高性能的.NoSQL图形数据库. Neo4j 使用图(graph)相关的概念来描述数据模型,通过图中的节点和节点的关系来建模. Neo4j完全兼 ...

  7. C#-WebForm-文件上传-FileUpload控件

    FileUpload - 选择文件,不能执行上传功能,通过点击按钮实现上传 默认选择类型为所有类型 //<上传>按钮 void Button1_Click(object sender, E ...

  8. iOS事件传递->处理->响应

    前言: 按照时间顺序,事件的生命周期是这样的: 事件的产生和传递(事件如何从父控件传递到子控件并寻找到最合适的view.寻找最合适的view的底层实现.拦截事件的处理)->找到最合适的view后 ...

  9. hdu 4859 海岸线 Bestcoder Round 1

    http://acm.hdu.edu.cn/showproblem.php?pid=4859 题目大意: 在一个矩形周围都是海,这个矩形中有陆地,深海和浅海.浅海是可以填成陆地的. 求最多有多少条方格 ...

  10. java 引用传递及基本应用