2014-09-11 89 views
0

我想使用此代碼的時間戳我已經轉換,但輸出是完全錯誤的,輸出爲17/01/1970十六時56分28秒!它應該是2014年8月7日下午五點14分59秒轉換時期時間戳可讀的日期不工作

Date date = new Date(1407388499); 
DateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); 
format.setTimeZone(TimeZone.getTimeZone("Etc/UTC")); 
String formatted = format.format(date); 
System.out.println(formatted); 
format.setTimeZone(TimeZone.getTimeZone("Australia/Sydney")); 
formatted = format.format(date); 
System.out.println(formatted); 

請幫助我

+0

日期預計毫秒數,而不是秒,因爲時代。 – assylias 2014-09-11 07:38:34

回答

3

您的日期是不夠的

new Date(1407388499); 
Sat Jan 17 1970 15:56:28 GMT+0900 (Japan Standard Time) 
new Date(1407388499000); 
Thu Aug 07 2014 14:14:59 GMT+0900 (Japan Standard Time) 

長的值應該是一個長期的那就是millseconds

編輯

所以,如果您收到的號碼是

int dt = 1407388499: 

然後,你需要做的

Date date = new Date(1000L * dt);  
+0

但多數民衆贊成數我從web服務接收,所以我有沒有對其進行控制,我接受它作爲一個字符串,然後我把它轉換 – Mash 2014-09-11 07:38:41

+0

只是繁衍,但1000 – 2014-09-11 07:39:24

+0

我怎麼能乘一個int到1000,請告訴我 – Mash 2014-09-11 07:50:03