為什么顯示的時(shí)間與實(shí)際的時(shí)間差了8小時(shí)?
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)?{ //?創(chuàng)建Canlendar對(duì)象 ????Calendar?c?=?Calendar.getInstance(); ??????TimeZone?timeZone?=?c.getTimeZone(); ??????System.out.println("timeZone?"+timeZone+"??"); //?將Calendar對(duì)象轉(zhuǎn)換為Date對(duì)象 Date?date?=?c.getTime(); ???????? //?創(chuàng)建SimpleDateFormat對(duì)象,指定目標(biāo)格式 SimpleDateFormat?sdf?=?new?SimpleDateFormat("yyyy-MM-dd?HH:mm:ss"); ???????? //?將日期轉(zhuǎn)換為指定格式的字符串 String?now?=?sdf.format(date); System.out.println("當(dāng)前時(shí)間:"?+?now); } }
按照網(wǎng)上的說法,查了一下時(shí)區(qū),是上海的沒錯(cuò)啊,但是與現(xiàn)在的時(shí)間差了八個(gè)小時(shí),也就是說,就是格林尼治時(shí)間?是什么問題呢?
2016-01-28
就是服務(wù)器的問題,你把代碼放到eclipse顯示的就是本地時(shí)間
2016-01-27
這個(gè)時(shí)間時(shí)慕課服務(wù)器上的,它服務(wù)器采用的時(shí)utc時(shí)間,而我們電腦本地的時(shí)間時(shí)東八區(qū),也就是utc+8的時(shí)間。當(dāng)然差了8個(gè)小時(shí)啦。
換言之,如果慕課他們服務(wù)器上的時(shí)間一直采用UTC,我們就比他們快8小時(shí)。
2015-11-30
我的機(jī)子也是差了8個(gè)小時(shí),然后我輸出了一下date,結(jié)果是:Mon Nov 30 08:10:31 UTC 2015,UTC采用的是世界統(tǒng)一時(shí)間。。
中國大陸、中國香港、中國澳門、中國臺(tái)灣、蒙古國、新加坡、馬來西亞、菲律賓、西澳大利亞州的時(shí)間與UTC的時(shí)差均為+8,也就是UTC+8。
2015-11-28
用含參的方式試試:
getInsrance()有多種帶參形式,無參的方法獲取的應(yīng)該是默認(rèn)的本機(jī)所使用的時(shí)區(qū),具體的實(shí)現(xiàn)原理我不清楚,你要是感興趣的話可以自己網(wǎng)上查查。所以應(yīng)該是Java在獲取你本地使用時(shí)區(qū)的時(shí)候掛掉了。你用
打印看一下你的Java獲取的你的時(shí)區(qū)參數(shù),看下id是不是"GMT+08:00"