Java獲取系統時間問題:
- public class TestDate {
- public static void main(String[] args) {
- System.out.println("java.runtime.version:\t"+System.getProperty("java.runtime.version"));
- System.out.println("當前時間:\t\t"+new Date().toLocaleString());
- }
- }
這段代碼在JDK1.5下運行 結果如下,少了8個小時:
JDK1.7下運行正常:
在網上找了些資料,有說注冊表損壞的,改注冊表。但是在朋友的機器上運行,也是類似的結果。
後來找到一種解決方案:運行時修改時區
- public class TestDate {
- public static void main(String[] args) {
- //設置默認時區
- TimeZone.setDefault(TimeZone.getTimeZone("GMT+8"));
- System.out.println("java.runtime.version:\t"+System.getProperty("java.runtime.version"));
- System.out.println("當前時間:\t\t"+new Date().toLocaleString());
- }
- }
結果: