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;  
       }  
      
    }  

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值