[問題] 時區計算

看板java作者 (no car ,no girlfriend )時間15年前 (2010/05/20 00:20), 編輯推噓0(004)
留言4則, 1人參與, 最新討論串1/1
說好這是學生作業(我不是學生阿) 不過我想了解是否有更好的寫法 題目是計算台灣時間與其他時區的的時差 簡單說要列出所有的TimeZone AvailableID與 Asia/Taipei作計算 差幾分鐘 幾小時都要顯示出來 時間的加減這邊先不討論 我比較疑惑的 如何產生兩個時間 然後來計算兩時間的差 通常實務上顯示時差只要設好timezone 就能夠無痛產生該時區的字串 不過要產生一個新的Date(或者Calendar)與現在時區的Date做計算該怎做呢? 因為date本身並沒有標記時區 Calendar即使我getInstance時放入引數TimeZone也沒什麼改變 如: Calendar Cal = Calendar.getInstance(); Cal.setTimeZone(TimeZone.getTimeZone("Australia/North")); 該時間也不會變成Australia/North的時間 我想問的是有沒有更好的寫法?我的寫法很土砲 就是DateFormat 然後慢慢取出該時區的yyyy MM dd HH mm 最後再生一個Calendar 這樣就有兩個Calendar來做運算了... -- ╱ ◤◥╲ ╱╱◤◥你 我◤顏 ◥ △_▂△ ___ │/◤叔 敢 就 — — - - ╱ ╲ ⊙ ⊙ 動 幹 ◣_○_◢ \\\\ \│﹣ ﹣│ ◣_皿_◢ 我 你 ◥◣◥∞)///◤◢◤ 的 的 ╲┴ /─ 馬 狗 mroscarψ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.86.130.111

05/20 04:55, , 1F
先 TimeZone.getOffset() 取得對 UTC 的 offset 然後
05/20 04:55, 1F

05/20 04:56, , 2F
直接用兩個 TimeZone 各自對 UTC 的 offset 來算出
05/20 04:56, 2F

05/20 04:58, , 3F
這兩個 TimeZone 之間的時差? (純嘴炮…沒在JAVA上實作這
05/20 04:58, 3F

05/20 05:00, , 4F
題目過 XD)
05/20 05:00, 4F
文章代碼(AID): #1Bz0_ErH (java)