1. 程式人生 > >使用java將mysql中獲得的時間戳轉標準時間格式

使用java將mysql中獲得的時間戳轉標準時間格式

首先先明白一點:mysql中存入的時間戳是10位的int

在存入的時候我們做過如下操作:

​​​Date date = new Date();  //獲得當前時間

long lTime = date.getTime(); //取出date型別中的日期時間,這裡精確到毫秒的

String sDateTime=lTime+""; 將long轉string

​sDateTime=sDateTime.substring(0,10);  //只取前10位

int iCurrentTime=Integer.parseInt(sDateTime);  //string轉int

同理當我們將​時間戳從mysql中取出來的時候要*1000或者加三個0把10位的int補成13位的long,否則格式化時間時是會出錯的,原因可以參見時間的計算原理(時間戳表示的是從1970-01-01開始經過的毫秒數,你存入資料庫時除了1000,取出來要把1000補上去,不然你的時間間隔會少1000,計算得到的時間是1970+(正確時間-1970)/1000).

所以我們要這麼做:

​String sTime=item.getUpdateTime()+"000";  //把0換回去

long lTime = Long.parseLong(sTime);  //int放不下的,用long

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

String sLastTime=sdf.format(lTime);