Android动态显示当前年月日时分秒系统时间(示例代码)

在布局文件中放一个TextView用来显示时间,如下所示:

<?xml version="1.0" encoding="utf-8"?> 
 <LinearLayout 
 xmlns:android="http://schemas.android.com/apk/res/android" 
 android:layout_width="match_parent" 
 android:layout_height="match_parent" 
 android:background="@android:color/white"> 
 <TextView 
  android:id="@+id/mytime" 
  android:layout_width="match_parent" 
  android:layout_height="match_parent" 
  android:gravity="center" 
  android:textColor="@android:color/black" 
  android:textSize="36sp"/> 
 </LinearLayout> 

开启一个线程,然后通过handler发消息,来实时的更新TextView上显示的系统时间:

import android.app.Activity;  
import android.os.Bundle;  
import android.os.Handler;  
import android.os.Message;  
import android.text.format.DateFormat;  
import android.widget.TextView;  
public class TestActivity extends Activity {  
  private static final int msgKey1 = 1;  
  private TextView mTime;  
  @Override  
  public void onCreate(Bundle savedInstanceState) {  
    super.onCreate(savedInstanceState);  
    setContentView(R.layout.time);  
    mTime = (TextView) findViewById(R.id.mytime);  
    new TimeThread().start();  
  }  
  public class TimeThread extends Thread {  
    @Override  
    public void run () {  
      do {  
        try {  
          Thread.sleep(1000);  
          Message msg = new Message();  
          msg.what = msgKey1;  
          mHandler.sendMessage(msg);  
        }  
        catch (InterruptedException e) {  
          e.printStackTrace();  
        }  
      } while(true);  
    }  
  }  
  private Handler mHandler = new Handler() {  
    @Override  
    public void handleMessage (Message msg) {  
      super.handleMessage(msg);  
      switch (msg.what) {  
        case msgKey1:  
          mTime.setText(getTime());  
          break;  
        default:  
          break;  
      }  
    }  
  };  
  //获得当前年月日时分秒星期  
  public String getTime(){  
    final Calendar c = Calendar.getInstance();  
    c.setTimeZone(TimeZone.getTimeZone("GMT+8:00"));  
    String mYear = String.valueOf(c.get(Calendar.YEAR)); // 获取当前年份  
    String mMonth = String.valueOf(c.get(Calendar.MONTH) + 1);// 获取当前月份  
    String mDay = String.valueOf(c.get(Calendar.DAY_OF_MONTH));// 获取当前月份的日期号码  
    String mWay = String.valueOf(c.get(Calendar.DAY_OF_WEEK));  
    String mHour = String.valueOf(c.get(Calendar.HOUR_OF_DAY));//时  
    String mMinute = String.valueOf(c.get(Calendar.MINUTE));//分  
    String mSecond = String.valueOf(c.get(Calendar.SECOND));//秒  
    if("1".equals(mWay)){  
      mWay ="天";  
    }else if("2".equals(mWay)){  
      mWay ="一";  
    }else if("3".equals(mWay)){  
      mWay ="二";  
    }else if("4".equals(mWay)){  
      mWay ="三";  
    }else if("5".equals(mWay)){  
      mWay ="四";  
    }else if("6".equals(mWay)){  
      mWay ="五";  
    }else if("7".equals(mWay)){  
      mWay ="六";  
    }  
    return mYear + "年" + mMonth + "月" + mDay+"日"+" "+"星期"+mWay+" "+mHour+":"+mMinute+":"+mSecond;  
  }  
}  

以上所述是小编给大家介绍的Android动态显示当前年月日时分秒系统时间,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对鸟哥教程(niaoge.com)网站的支持!

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#niaoge.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。