轉(zhuǎn)換給定時(shí)區(qū)的日期/時(shí)間-java我想將GMT時(shí)間戳轉(zhuǎn)換為GMT+13:2011-10-06 03:35:05我已經(jīng)嘗試了大約100個(gè)不同的組合,DateFormat,時(shí)區(qū),日期,GregorianCalendar等來(lái)嘗試完成這個(gè)非?;镜娜蝿?wù)。此代碼用于當(dāng)前時(shí)間所需的內(nèi)容:Calendar calendar = new GregorianCalendar(TimeZone.getTimeZone("GMT"));
DateFormat formatter = new SimpleDateFormat("dd MMM yyyy HH:mm:ss z");
formatter.setTimeZone(TimeZone.getTimeZone("GMT+13"));
String newZealandTime = formatter.format(calendar.getTime());但我想要的是設(shè)定時(shí)間,而不是使用當(dāng)前的時(shí)間。我發(fā)現(xiàn),每當(dāng)我試圖像這樣設(shè)定時(shí)間:calendar.setTime(new Date(1317816735000L));使用本地機(jī)器的時(shí)區(qū)。那是為什么?我知道當(dāng)“newdate()”返回UTC+0時(shí)間時(shí),為什么當(dāng)您設(shè)置時(shí)間(以毫秒為單位)時(shí),它不再假定時(shí)間是以UTC為單位的?有可能:設(shè)置對(duì)象的時(shí)間(日歷/日期/時(shí)間戳)(可能)設(shè)置初始時(shí)間戳的時(shí)區(qū)(cal憲兵.setTimezone(.)用新的時(shí)區(qū)格式化時(shí)間戳(formatter.setTimezone(.)返回帶有新時(shí)區(qū)時(shí)間的字符串。(formatter.mat(caltim.getTime()提前感謝您的幫助:d
3 回答

神不在的星期二
TA貢獻(xiàn)1963條經(jīng)驗(yàn) 獲得超6個(gè)贊
設(shè)置對(duì)象的時(shí)間(日期、日歷等)。 設(shè)置格式化程序?qū)ο蟮臅r(shí)區(qū)。 從格式化程序返回字符串。
添加回答
舉報(bào)
0/150
提交
取消