日期 时间 控制

简介: 引用:http://www.oschina.net/code/snippet_54100_5221 [代码] main.xml view source print? 01 02 07 12 ...

引用:http://www.oschina.net/code/snippet_54100_5221

[代码] main.xml

01 <?xml version="1.0" encoding="utf-8"?>
02 <LinearLayout xmlns:Android="http://schemas.android.com/apk/res/android"
03     Android:orientation="vertical"
04     Android:layout_width="fill_parent"
05     Android:layout_height="fill_parent"
06     >
07 <TextView  Android:id="@+id/dateAndTime"
08     Android:layout_width="fill_parent"
09     Android:layout_height="wrap_content"
10     Android:text="@string/hello"
11     />
12 <Button    Android:id="@+id/setDate"
13         Android:layout_width="fill_parent"
14         Android:layout_height="wrap_content"
15         Android:text="Set the Date"></Button>
16 <Button    Android:id="@+id/setTime"
17         Android:layout_width="fill_parent"
18         Android:layout_height="wrap_content"
19         Android:text="Set the Time"></Button>
20 </LinearLayout>

[代码] ChronoDemo.java

001 package yyl.Android;
002  
003 import java.text.DateFormat;
004 import java.util.Calendar;
005 import java.util.Locale;
006  
007 import Android.app.Activity;
008 import Android.app.DatePickerDialog;
009 import Android.app.TimePickerDialog;
010 import Android.os.Bundle;
011 import Android.view.View;
012 import Android.widget.Button;
013 import Android.widget.DatePicker;
014 import Android.widget.TextView;
015 import Android.widget.TimePicker;
016  
017 public class ChronoDemo extends Activity {
018    //获取日期格式器对象
019     DateFormat fmtDateAndTime = DateFormat.getDateTimeInstance();
020     //定义一个TextView控件对象
021     TextView dateAndTimeLabel = null;
022     //获取一个日历对象
023     Calendar dateAndTime = Calendar.getInstance(Locale.CHINA);
024     
025     
026     //当点击DatePickerDialog控件的设置按钮时,调用该方法
027     DatePickerDialog.OnDateSetListener d = new DatePickerDialog.OnDateSetListener()
028     {
029         @Override
030         public void onDateSet(DatePicker view, int year, int monthOfYear,
031                 int dayOfMonth) {
032             //修改日历控件的年,月,日
033             //这里的year,monthOfYear,dayOfMonth的值与DatePickerDialog控件设置的最新值一致
034             dateAndTime.set(Calendar.YEAR, year);
035             dateAndTime.set(Calendar.MONTH, monthOfYear);
036             dateAndTime.set(Calendar.DAY_OF_MONTH, dayOfMonth);  
037             //将页面TextView的显示更新为最新时间
038             updateLabel();          
039         }      
040     };
041     
042  
043  
044     TimePickerDialog.OnTimeSetListener t = new TimePickerDialog.OnTimeSetListener() {
045         
046         //同DatePickerDialog控件
047         @Override
048         public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
049             dateAndTime.set(Calendar.HOUR_OF_DAY, hourOfDay);
050             dateAndTime.set(Calendar.MINUTE, minute);
051             updateLabel();
052             
053         }
054     };
055     
056     @Override
057     public void onCreate(Bundle savedInstanceState) {
058         super.onCreate(savedInstanceState);
059         setContentView(R.layout.main);
060         
061         //得到页面设定日期的按钮控件对象
062         Button dateBtn = (Button)findViewById(R.id.setDate);
063         //设置按钮的点击事件监听器
064         dateBtn.setOnClickListener(new View.OnClickListener() {
065             
066             @Override
067             public void onClick(View v) {
068                 //生成一个DatePickerDialog对象,并显示。显示的DatePickerDialog控件可以选择年月日,并设置
069                 new DatePickerDialog(ChronoDemo.this,
070                         d,
071                         dateAndTime.get(Calendar.YEAR),
072                         dateAndTime.get(Calendar.MONTH),
073                         dateAndTime.get(Calendar.DAY_OF_MONTH)).show();              
074             }
075         });
076         
077         Button timeBtn = (Button)findViewById(R.id.setTime);
078         timeBtn.setOnClickListener(new View.OnClickListener() {
079             
080             //同上原理
081             @Override
082             public void onClick(View v) {
083                 new TimePickerDialog(ChronoDemo.this,
084                         t,
085                         dateAndTime.get(Calendar.HOUR_OF_DAY),
086                         dateAndTime.get(Calendar.MINUTE),
087                         true).show();
088                 
089             }
090         });
091         
092         dateAndTimeLabel=(TextView)findViewById(R.id.dateAndTime);
093         
094         updateLabel();
095     }
096     
097     //更新页面TextView的方法
098     private void updateLabel() {
099         dateAndTimeLabel.setText(fmtDateAndTime
100         .format(dateAndTime.getTime()));
101         }
102 }
相关文章
|
6月前
layerData指定日期可用或者不可用
layerData指定日期可用或者不可用
42 0
|
6月前
|
存储 C语言 C++
c++日期和时间
c++日期和时间
43 0
|
5月前
|
C#
C# 版本的 计时器类 精确到微秒 秒后保留一位小数 支持年月日时分秒带单位的输出
这篇2010年的文章是从别处搬运过来的,主要包含一个C#类`TimeCount`,该类有多个方法用于处理时间相关的计算。例如,`GetMaxYearCount`计算以毫秒为单位的最大年数,`GetCurrentTimeByMiliSec`将当前时间转换为毫秒,还有`SecondsToYYMMDDhhmmss`将秒数转换为年月日时分秒的字符串。此外,类中还包括一些辅助方法,如处理小数点后保留一位数字的`RemainOneFigureAfterDot`。
|
6月前
|
C语言 C++
c++日期&时间
c++日期&时间
56 1
|
6月前
|
弹性计算 运维 Shell
解析日期和时间
【4月更文挑战第29天】
46 1
|
小程序 JavaScript API
小程序获取当前日期和时间点的方法
小程序获取当前日期和时间点的方法
193 0
|
C语言 C++
C++ 如果设置日期 & 时间基础篇
C++ 如果设置日期 & 时间基础篇
|
存储 算法 Unix
C++ 日期和时间编程总结
在 C++11 之前,C++ 编程只能使用 C-style 日期时间库,其精度只有秒级别,这对于有高精度要求的程序来说,是不够的。但这个问题在C++11 中得到了解决,C++11 中不仅扩展了对于精度的要求,也为不同系统的时间要求提供了支持。另一方面,对于只能使用 C-style 日期时间库的程序来说,C++17 中也增加了 timespec 将精度提升到了纳秒级别。
371 1
|
C语言 C++
C++ 如果设置日期 & 时间基础篇
C++ 标准库没有提供所谓的日期类型。C++ 继承了 C 语言用于日期和时间操作的结构和函数。为了使用日期和时间相关的函数和结构,需要在 C++ 程序中引用 <ctime> 头文件。
|
存储 Linux 编译器
C++ 日期和时间的相关函数
C++ 日期和时间的相关函数
296 0