Date 和 Time




activity_main.xml:
<?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="vertical" tools:context="com.xiesir.example14datetime.MainActivity"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:orientation="vertical"> <TextView android:text="一、TextClock(文本时钟)\n is24HourModeEnabled():是否使用24进制时间\n format12Hour / setFormat12Hour(CharSequence):12时制\n format24Hour / setFormat24Hour(CharSequence):24时制\n timeZone / setTimeZone(String):设置时区\n CharSequence:定义时间格式" android:layout_width="match_parent" android:layout_height="wrap_content" /> <TextClock android:layout_width="wrap_content" android:layout_height="wrap_content" android:format12Hour="yyyy-MM-dd E h:mmaa" /> <!--<TextClock--> <!--android:layout_width="wrap_content"--> <!--android:layout_height="wrap_content"--> <!--android:format12Hour="MM/dd/yy h:mmaa" />--> <TextClock android:layout_width="wrap_content" android:layout_height="wrap_content" android:format12Hour="MMM dd, yyyy h:mmaa" /> <TextClock android:layout_width="wrap_content" android:layout_height="wrap_content" android:format12Hour="MMMM dd, yyyy h:mmaa" /> <TextClock android:layout_width="wrap_content" android:layout_height="wrap_content" android:format12Hour="E, MMMM dd, yyyy h:mmaa" /> <TextClock android:layout_width="wrap_content" android:layout_height="wrap_content" android:format12Hour="EEEE, MMMM dd, yyyy h:mmaa" /> <TextClock android:layout_width="wrap_content" android:layout_height="wrap_content" android:format12Hour="Noteworthy day: 'M/d/yy" /> <TextView android:text="二、AnalogClock(模拟时钟)\n dial/ hand_hour/ hand_minute:背景图、时针图、分钟图" android:layout_width="match_parent" android:layout_height="wrap_content" /> <AnalogClock android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:text="三、Chronometer(计时器)" android:layout_width="match_parent" android:layout_height="wrap_content" /> <Chronometer android:id="@+id/chronometer" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:textColor="#007Fff" android:textSize="60dip" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_margin="5dip" android:orientation="horizontal"> <Button android:id="@+id/btnStart" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="开始" /> <Button android:id="@+id/btnStop" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="停止" /> <Button android:id="@+id/btnReset" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="重置" /> <Button android:id="@+id/btn_format" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="格式化" /> </LinearLayout> <TextView android:text="四、DatePicker(日期选择器)\n OnDateChangedListener():mode为spinner时完成事件监听" android:layout_width="match_parent" android:layout_height="wrap_content" /> <!--<DatePicker--> <!--android:calendarViewShown="true"--> <!--android:datePickerMode="spinner"--> <!--android:layout_width="wrap_content"--> <!--android:layout_height="wrap_content">--> <!--</DatePicker>--> <DatePicker android:id="@+id/dp" android:calendarViewShown="false" android:datePickerMode="spinner" android:minDate="1/1/2010" android:maxDate="12/31/2020" android:layout_gravity="center_horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <!--android:spinnersShown="true"--> <DatePicker android:headerBackground="#7F7F7F" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:text="五、TimePicker(时间选择器)\n OnTimeChangedListener:监听事件" android:layout_width="match_parent" android:layout_height="wrap_content" /> <TimePicker android:id="@+id/tp" android:timePickerMode="spinner" android:layout_width="wrap_content" android:layout_gravity="center_horizontal" android:layout_height="wrap_content"></TimePicker> <TimePicker android:timePickerMode="clock" android:layout_width="wrap_content" android:layout_height="wrap_content"></TimePicker> <TextView android:text="六、CalendarView(日历视图)\n OnDateChangeListener:监听事件" android:layout_width="match_parent" android:layout_height="wrap_content" /> <CalendarView android:id="@+id/cv" android:layout_width="wrap_content" android:layout_height="wrap_content"></CalendarView> </LinearLayout> </ScrollView>
MainActivity.java:
package com.xiesir.example14datetime; import android.os.SystemClock; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.CalendarView; import android.widget.Chronometer; import android.widget.DatePicker; import android.widget.TimePicker; import android.widget.Toast; import java.util.Calendar; public class MainActivity extends AppCompatActivity implements View.OnClickListener, Chronometer.OnChronometerTickListener, DatePicker.OnDateChangedListener { private Chronometer chronometer; private Button btn_start, btn_stop, btn_base, btn_format; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); DatePicker dp = (DatePicker) findViewById(R.id.dp); Calendar calendar = Calendar.getInstance(); int year=calendar.get(Calendar.YEAR); int monthOfYear=calendar.get(Calendar.MONTH); int dayOfMonth=calendar.get(Calendar.DAY_OF_MONTH); dp.init(year, monthOfYear, dayOfMonth,this); TimePicker tp = (TimePicker) findViewById(R.id.tp); tp.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() { @Override public void onTimeChanged(TimePicker view, int hourOfDay, int minute) { Toast.makeText(MainActivity.this, "您选择的时间是:" + hourOfDay + "时" + minute + "分!", Toast.LENGTH_SHORT).show(); } }); CalendarView cv = (CalendarView) findViewById(R.id.cv); cv.setOnDateChangeListener(new CalendarView.OnDateChangeListener() { @Override public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) { Toast.makeText(MainActivity.this, "您选择的时间是:" + year + "年" + month + "月" + dayOfMonth + "日", Toast.LENGTH_SHORT).show(); } }); } private void initView() { chronometer = (Chronometer) findViewById(R.id.chronometer); btn_start = (Button) findViewById(R.id.btnStart); btn_stop = (Button) findViewById(R.id.btnStop); btn_base = (Button) findViewById(R.id.btnReset); btn_format = (Button) findViewById(R.id.btn_format); chronometer.setOnChronometerTickListener(this); btn_start.setOnClickListener(this); btn_stop.setOnClickListener(this); btn_base.setOnClickListener(this); btn_format.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.btnStart: chronometer.start(); // 开始计时 break; case R.id.btnStop: chronometer.stop(); // 停止计时 break; case R.id.btnReset: chronometer.setBase(SystemClock.elapsedRealtime()); // 复位 break; case R.id.btn_format: chronometer.setFormat("Time:%s"); // 更改时间显示格式 break; } } @Override public void onChronometerTick(Chronometer chronometer) { String time = chronometer.getText().toString(); if (time.equals("00:00")) Toast.makeText(MainActivity.this, "时间到了~", Toast.LENGTH_SHORT).show(); } @Override public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) { Toast.makeText(MainActivity.this, "您选择的日期是:" + year + "年" + (monthOfYear+1) + "月" + dayOfMonth + "日!", Toast.LENGTH_SHORT).show(); } }
参考:
浙公网安备 33010602011771号