亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么顯示的時間與實際的時間差了8小時?

import?java.text.SimpleDateFormat;
import?java.util.Calendar;
import?java.util.Date;
import?java.util.TimeZone;

public?class?HelloWorld?{
????
????public?static?void?main(String[]?args)?{
		//?創建Canlendar對象

????Calendar?c?=?Calendar.getInstance();
??????TimeZone?timeZone?=?c.getTimeZone();
??????System.out.println("timeZone?"+timeZone+"??");
		//?將Calendar對象轉換為Date對象
		Date?date?=?c.getTime();
????????
		//?創建SimpleDateFormat對象,指定目標格式
		SimpleDateFormat?sdf?=?new?SimpleDateFormat("yyyy-MM-dd?HH:mm:ss");
????????
		//?將日期轉換為指定格式的字符串
		String?now?=?sdf.format(date);
		System.out.println("當前時間:"?+?now);
	}
}

按照網上的說法,查了一下時區,是上海的沒錯啊,但是與現在的時間差了八個小時,也就是說,就是格林尼治時間?是什么問題呢?

正在回答

4 回答

就是服務器的問題,你把代碼放到eclipse顯示的就是本地時間

0 回復 有任何疑惑可以回復我~

這個時間時慕課服務器上的,它服務器采用的時utc時間,而我們電腦本地的時間時東八區,也就是utc+8的時間。當然差了8個小時啦。

換言之,如果慕課他們服務器上的時間一直采用UTC,我們就比他們快8小時。

2 回復 有任何疑惑可以回復我~

我的機子也是差了8個小時,然后我輸出了一下date,結果是:Mon Nov 30 08:10:31 UTC 2015,UTC采用的是世界統一時間。。

中國大陸、中國香港、中國澳門、中國臺灣、蒙古國、新加坡、馬來西亞、菲律賓、西澳大利亞州的時間與UTC的時差均為+8,也就是UTC+8。

0 回復 有任何疑惑可以回復我~

用含參的方式試試:

Calendar?c?=?Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00"));????//獲取東八區時間

getInsrance()有多種帶參形式,無參的方法獲取的應該是默認的本機所使用的時區,具體的實現原理我不清楚,你要是感興趣的話可以自己網上查查。所以應該是Java在獲取你本地使用時區的時候掛掉了。你用

System.out.println(TimeZone.getTimeZone("GMT+08:00"));

打印看一下你的Java獲取的你的時區參數,看下id是不是"GMT+08:00"

0 回復 有任何疑惑可以回復我~
#1

sxian_wang

下面的代碼不對,弄錯了。你用下面的這個打印下: System.out.println(timeZone.getID()); System.out.println(timeZone.getDisplayName());
2015-11-28 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么顯示的時間與實際的時間差了8小時?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號