开发者社区> 问答> 正文

Android Studio获取GMT+8时间出错?

 package com.example.thread;

import java.util.Timer;
import android.app.Activity;
import android.graphics.Color;
import android.graphics.Typeface;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.text.format.Time;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.text.format.DateFormat;
//import java.util.Timer;
import android.text.format.Time;
import android.widget.TextView;

public class MainActivity extends Activity
{
    public TextView time_text;
    public String text2="9";
    public int year,month,date,hour,minute,second;
    public Handler mHandler=new Handler();
    Time t=new Time("GMT+8"); // or Time t=new Time("GMT+8"); 加上Time Zone资料。
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        time_text=(TextView)findViewById(R.id.time_text);
        time_text.setTextColor(Color.WHITE);
        //Time t=new Time("GMT+8"); // or Time t=new Time("GMT+8"); 加上Time Zone资料。
        mHandler.post(new Runnable() {
            @Override
            public void run() {
                // TODO Auto-generated method stub
                t.setToNow(); // 取得系统时间。
                year = t.year;//年
                month = t.month;//月
                date = t.monthDay;//日
                hour = t.hour; //小时
                minute = t.minute;//分钟
                second = t.second;//秒
                //输出当前时间 时分秒
                time_text.setText(String.valueOf("  " + hour + ":" + minute + ":" + second));
                mHandler.postDelayed(this, 1000);
            }
        });
    }
}

screenshot

展开
收起
爵霸 2016-06-14 08:33:24 3215 0
1 条回答
写回答
取消 提交回答
  • public class MainActivity extends Activity
    {
        public TextView time_text;
        public Handler mHandler=new Handler();
        @Override
        public void onCreate(Bundle savedInstanceState)
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            time_text=(TextView)findViewById(R.id.time_text);
            time_text.setText(getLocalDatetimeString("GMT+8"));
            time_text.setTextColor(Color.WHITE);
            time_text.setText("  " + getLocalDatetimeString("GMT+8"));//显示时间
        }
        public static String getLocalDatetimeString(String local) {
            Calendar cal = new GregorianCalendar(TimeZone.getTimeZone(local));
            cal.setTimeInMillis(Calendar.getInstance().getTimeInMillis());
            String date = cal.get(Calendar.YEAR) + "-" + (cal.get(Calendar.MONTH) + 1) + "-" + cal.get(Calendar.DAY_OF_MONTH);
            String time = cal.get(Calendar.HOUR_OF_DAY) + ":" + cal.get(Calendar.MINUTE) + ":" + cal.get(Calendar.SECOND);
            return date + " " + time;
        }
    }
    

    这样就能显示当前时间了。

    2019-07-17 19:36:49
    赞同 展开评论 打赏
问答分类:
问答地址:
相关产品:
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载