Java获取系统时间少8个小时

java获取系统时间问题:

[java] view plaincopy
  1. public class TestDate {  
  2.     public static void main(String[] args) {  
  3.         System.out.println("java.runtime.version:\t"+System.getProperty("java.runtime.version"));  
  4.         System.out.println("当前时间:\t\t"+new Date().toLocaleString());  
  5.     }  
  6. }  
这段代码在JDK1.5下运行 结果如下,少了8个小时:


JDK1.7下运行正常:



在网上找了些资料,有说注册表损坏的,改注册表。但是在朋友的机器上运行,也是类似的结果。

后来找到一种解决方案:运行时修改时区

[java] view plaincopy
  1. public class TestDate {  
  2.     public static void main(String[] args) {  
  3.         //设置默认时区  
  4.         TimeZone.setDefault(TimeZone.getTimeZone("GMT+8"));   
  5.         System.out.println("java.runtime.version:\t"+System.getProperty("java.runtime.version"));  
  6.         System.out.println("当前时间:\t\t"+new Date().toLocaleString());  
  7.     }  
  8. }  

结果:

发布了21 篇原创文章 · 获赞 13 · 访问量 6万+
展开阅读全文

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

08-19

``` 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); } }); } } ``` ![图片说明](https://img-ask.csdn.net/upload/201508/19/1439943537_890067.jpg) 我想要显示东八区时间,可是app却显示中时区时间,怎么回事? 我是在android4.1.2版本手机上运行app的。我的手机系统自带的时间显示是东八区时间,app显示却不一样。 问答

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览