2013-09-16 32 views
-3

如何轉換大整數130552992000000000轉換爲日期格式?如何將大整數轉換爲日期

這是今天的日期和時間戳。 我試着用

Date d = new Date(130552992000000000L * 1000); 
System.out.println("Date : " +d); 

但其表現日期:這是不正確的,沒有顯示今年也Wed Dec 29 00:28:58 IST 45183249日期。

在此先感謝。

+7

它確實顯示年份。年份是45183249.也許你應該*除以1000.或者保留原來的數字。無論如何,你需要知道這個數字代表什麼來推斷它的日期。是1970-01-01以來的秒數嗎?從那以後毫秒?從那以後納秒?自1601-01-01以來100ns的間隔? 0001-01-01以來的間隔爲100ns? – Joey

+0

同意@Joey--這絕對不是典型的Unix毫秒時間戳;有太多的小數位。 –

回答

2

您可以使用Calendar#setTimeInMillis(long timemillis)方法並通過調用Calendar#getTime()方法檢索Date

Long l = //some value 
Calendar c = Calendar.getInstance(); 
c.setTimeInMillis(l); 
Date date = c.getTime(); 
+3

使用'Date'這樣的問題有什麼問題?! 'Date'構造函數確實需要毫秒作爲參數。 – SudoRahul

+0

因爲對於特定的日期或日期算術,「日曆」是首選。 –

+2

我沒有看到提及日期算術的OP,如果假設要做,我會更喜歡,並且也會推薦OP,以使用[Joda](http://joda-time.sourceforge.net /apidocs/org/joda/time/DateTime.html)! – SudoRahul