`

玩转Android---UI篇---DatePicker,TimePicker(日期和时间)

阅读更多

日期和时间是任何手机平台都有的功能,Android也如此。

DatePicker:用来实现日期(年月日)

TimePicker:用来实现时间(时分秒)

 

Calendar:日历是设定年度日期对象和一个整数字段之间转换的抽象基类,如,月,日,小时等。

例如

final Calendar calendar=Calendar.getInstance();
  mYear=calendar.get(Calendar.YEAR);---获取年份
  mMonth=calendar.get(Calendar.MONTH);---获取月份
  mDay=calendar.get(Calendar.DAY_OF_MONTH);---获取日
  mHour=calendar.get(Calendar.HOUR_OF_DAY);---获取时
  mMinute=calendar.get(Calendar.MINUTE);---获取分

等等,可以参考API文档

TimePickerDialog、DatePickerDialog是对话框形式的时间类。

 

废话不多说,实例如下:

DateTest.java文件

 

package org.loulijun.datetest;

import java.util.Calendar;

import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.TimePickerDialog;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TextView;
import android.widget.TimePicker;

public class DateTest extends Activity {
    /** Called when the activity is first created. */
	TextView textview;
	TimePicker timepicker;
	DatePicker datepicker;
	Button btn1;
	Button btn2;
	//JAVA中的Calendar类
	Calendar c;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        /*Like other locale-sensitive classes, Calendar provides a class method, getInstance, 
        *for getting a default instance of this class for general use. 
        *Calendar's getInstance method returns a calendar whose locale is based on system settings 
        *and whose time fields have been initialized with the current date and time:
        */
        c=Calendar.getInstance();
        textview=(TextView)findViewById(R.id.textview);
        btn1=(Button)findViewById(R.id.button1);
        btn2=(Button)findViewById(R.id.button2);
        
        //获取DatePicker对象
        datepicker=(DatePicker)findViewById(R.id.datepicker1);
        //将日历初始化为当前系统时间,并设置其事件监听
        datepicker.init(c.get(Calendar.YEAR),c.get(Calendar.MONTH),c.get(Calendar.DAY_OF_MONTH),
        		new DatePicker.OnDateChangedListener() {
					
					@Override
					public void onDateChanged(DatePicker view, int year, int monthOfYear,
							int dayOfMonth) {
						// TODO Auto-generated method stub
						//当前日期更改时,在这里设置
						c.set(year,monthOfYear,dayOfMonth);
					}
				});
        //获取TimePicker对象
        timepicker=(TimePicker)findViewById(R.id.timepicker1);
        //设置为24小时制显示时间
        timepicker.setIs24HourView(true);
        //监听时间改变
        timepicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {
			
			@Override
			public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
				// TODO Auto-generated method stub
				//时间改变处理
				//c.set(year,month,hourOfDay,minute,second);
			}
		});
        
        btn1.setOnClickListener(new Button.OnClickListener()
        {
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				new DatePickerDialog(DateTest.this,
						new DatePickerDialog.OnDateSetListener() {
							
							@Override
							public void onDateSet(DatePicker view, int year, int monthOfYear,
									int dayOfMonth) {
									//设置日历	
							}
						},c.get(Calendar.YEAR),c.get(Calendar.MONTH),c.get(Calendar.DAY_OF_MONTH)).show();
			}
        });
        
        btn2.setOnClickListener(new Button.OnClickListener()
        {

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				new TimePickerDialog(DateTest.this,
						new TimePickerDialog.OnTimeSetListener() {
							
							@Override
							public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
								// TODO Auto-generated method stub
								//设置时间
							}
						},c.get(Calendar.HOUR_OF_DAY),c.get(Calendar.MINUTE),true).show();
			}
        	
        });
    }
}

 main.xml文件

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
	android:id="@+id/textview"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="时间控件使用"
    />
<DatePicker
	android:id="@+id/datepicker1"
	android:layout_width="wrap_content"
	android:layout_height="wrap_content"
/>
<TimePicker
	android:id="@+id/timepicker1"
	android:layout_width="wrap_content"
	android:layout_height="wrap_content"
/>
<Button
	android:id="@+id/button1"
	android:layout_width="wrap_content"
	android:layout_height="wrap_content"
	android:text="设置日期"
	android:layout_gravity="center"
/>
<Button
	android:id="@+id/button2"
	android:layout_width="wrap_content"
	android:layout_height="wrap_content"
	android:text="设置时间"
	android:layout_gravity="center"
/>
</LinearLayout>

 运行结果如下:


当点击“设置日期”按钮后,就会显示如下对话框样式的DatePickerDialog


当点击“设置时间”按钮后,就会弹出如下对话框样式的TimePickerDialog
 

  • 大小: 19.5 KB
  • 大小: 26.1 KB
  • 大小: 23 KB
分享到:
评论
2 楼 wingsrao 2012-08-30  
Timepicker加秒的怎么实现?还有月份那里怎么设置成中文
1 楼 wilsonchen 2012-08-15  
我想它们放在同一水平线上,怎么实现呢?谢谢

相关推荐

    jquery-ui-datepicker中文版

    jquery-ui-日期框扩展成时间框 jquery-ui时间框 基于别人的代码进行修改 jquery-ui-1.8.16.custom.css文件末尾加入以下代码 .ui-timepicker-div .ui-widget-header{ margin-bottom: 8px; } .ui-timepicker-div dl{ ...

    Android---UI篇

    •Android---UI篇---DatePicker,TimePicker(日期和时间) • •Android---UI篇---ImageButton(带图标的按钮) • •Android---UI篇---RadioButton(单选按钮) • •Android---UI篇---CheckBox(多选按钮) • •...

    jQuery UI Datepicker插件timepicker时分秒

    总的来说,jQuery UI Datepicker结合timepicker扩展为Web应用提供了强大的日期时间选择功能。通过灵活的配置和丰富的API,开发者可以轻松地实现符合业务需求的日期时间选择组件。无论是在后台管理系统还是前端用户...

    修改Jquery-UI-DatePicker-可以选择时间

    &lt;script src="js/jquery.ui.datepicker-zh-CN.js"&gt;&lt;/script&gt; 去掉此行,样式好很多。中文版的版式需要高手完善 来自于网上一高手 &lt;script type="text/javascript" src="js/jquery-ui-timepicker-addon.js"&gt; jquery-...

    jquery-ui-timepicker-addon

    jQuery UI Datepicker日期选择插件很好用,但是不满意的是不能精确到时分秒,而jquery-ui-timepicker-addon.js正是基于jQuery UI Datepicker的一款可选时间的插件。 使用方法: 1.把下载的文件包含到页面里面 2....

    Android 原生DatePicker-TimePicker控件使用

    在Android开发中,`DatePicker`和`TimePicker`是两个常用的原生控件,用于让用户选择日期和时间。这两个控件在很多应用中都有广泛的应用,例如设置生日、预约时间等场景。本篇文章将深入探讨如何在Android应用中正确...

    wxapp-timePicker-master日期(起止)选择器组件.zip

    【微信小程序日期(起止)选择器组件】是微信开发者常用的一种UI组件,主要用于实现用户在小程序中选择日期或时间段的功能。此组件通常用于预订、预约等场景,让用户能够方便地设定活动开始与结束时间。在`wxapp-...

    前端项目-jquery-ui-timepicker-addon.zip

    前端项目-jquery-ui-timepicker-addon,TimePicker插件将TimePicker添加到jQueryUI日期选取器中,因此使用任何一个日期选取器和滑块组件(jQueryUI)都是必需的。此外,所有datepicker选项仍然可以通过TimePicker插件...

    jQuery-Timepicker-Addon-master(jquery 日历时间)

    jQuery-Timepicker-Addon是jQuery库的一个扩展,为网页提供了一种优雅的方式来处理日期和时间的选择。这个组件不仅提高了用户体验,也简化了开发者的工作流程,使得在网页上添加日历和时间选择功能变得轻而易举。 ...

    angularjs ui-grid datepicker 日期控件

    而“angularjs ui-grid datepicker”则是UI-Grid的一个扩展功能,它为表格中的日期字段提供了集成的日期选择器,提高了用户交互性和数据输入的便利性。下面将详细介绍这个功能及其相关知识点。 1. **AngularJS**: ...

    032_android UI组件之 时间日期控件DatePicker和TimePicker

    总的来说,DatePicker和TimePicker是Android开发中不可或缺的UI组件,它们提供了直观的时间和日期选择功能。开发者可以通过各种方式定制它们,以满足不同应用的需求。通过熟练掌握这两个控件,可以提升应用的用户...

    ionic-datepicker-oysq

    "ionic-datepicker-oysq"是一个专为Ionic框架设计的日期选择器插件,它使得在Ionic应用中集成日期选择功能变得更加简单和高效。 Ionic是一款基于AngularJS的开源框架,用于构建跨平台的混合移动应用。它提供了丰富...

    jquery.ui.datepicker-zh-CN.js

    jquery-ui中文日历控件,使用的时候记得先把文档编码改为UTF-8,否则中文显示乱码!

    jquery.datepicker-zh-CN.js

    &lt;script src="./public/js/jquery.datepicker-zh-CN.js"&gt;&lt;/script&gt; &lt;link href="./public/css/jqueryui/jquery-ui-1.10.3.min.css" rel="stylesheet"&gt; $( "#datepicker" ).datepicker({dateFormat:"yy-mm-dd",...

    bootstrap-datepicker-1.9.0_bootstrap源码_

    在本资源中,我们关注的是`bootstrap-datepicker-1.9.0`,这是一个针对Bootstrap框架的日期选择器插件。这个插件允许用户以美观、易用的方式选择日期,常见于各种表单输入和日历应用。 Bootstrap Datepicker是基于...

    Android Studio DatePicker和TimePicker的使用

    其中,DatePicker 和 TimePicker 是两个常用的组件,分别用于选择日期和时间。本文将详细介绍 Android Studio 中的 DatePicker 和 TimePicker 组件的使用方法。 一、DatePicker 组件 DatePicker 组件是 Android 中...

    jquery-ui-1.10.3.custom.rar jquery 日期插件 带时间选择

    日期时间选择插件是jQuery UI中的一个重要组成部分,它允许用户方便地选择日期和时间,通常用于表单输入或者事件调度等场景。这个插件的核心是`datepicker`,它不仅提供了基本的日期选择功能,还支持多种自定义配置...

    jQuery-Timepicker-Addon-master

    jQuery-Timepicker-Addon-master,改进了jquery自带的datepicker,官网:http://trentrichardson.com/examples/timepicker/ 方便好使,内包含一个已经实现了效果的demo方便对照使用

    Android中简单datepicker和timepicker的自定义制作

    在Android开发中,`DatePicker`和`TimePicker`是用于用户选择日期和时间的常见组件。自定义这两个组件可以提供更符合应用风格或用户需求的交互体验。下面将详细介绍如何在Android中自定义`DatePicker`和`TimePicker`...

Global site tag (gtag.js) - Google Analytics