程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> java-Android Studio獲取GMT+8時間出錯?

java-Android Studio獲取GMT+8時間出錯?

編輯:編程綜合問答
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);
            }
        });
    }
}

圖片說明
我想要顯示東八區時間,可是app卻顯示中時區時間,怎麼回事?
我是在android4.1.2版本手機上運行app的。我的手機系統自帶的時間顯示是東八區時間,app顯示卻不一樣。

最佳回答:


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

然後這樣調用

 getLocalDatetimeString("GMT+8");

祝你好運!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved