作者slalala (no car ,no girlfriend )
看板java
標題[問題] 時區計算
時間Thu May 20 00:20:28 2010
說好這是學生作業(我不是學生阿)
不過我想了解是否有更好的寫法
題目是計算台灣時間與其他時區的的時差
簡單說要列出所有的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
→ AmosYang:先 TimeZone.getOffset() 取得對 UTC 的 offset 然後 05/20 04:55
→ AmosYang:直接用兩個 TimeZone 各自對 UTC 的 offset 來算出 05/20 04:56
→ AmosYang:這兩個 TimeZone 之間的時差? (純嘴炮…沒在JAVA上實作這 05/20 04:58
→ AmosYang:題目過 XD) 05/20 05:00