前言
今天遇到一個怪事,后臺返回了時間戳,然后我用時間戳轉字符串后,一直是1970年,百思不得其解,難道是我代碼寫錯了?我網上搜了下,對的呀,這么簡單的轉換代碼,應該沒有問題才對。
問題
一般時間戳轉字符串代碼如下:
后臺返回的是1534498090
Date date = new Date(1534498090);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return sdf.format(date);
return 得到的答案是 1970-01-19 02:14:58
那這是為什么呢?
解決
經過自己在代碼中獲取到時間戳格式,我發現是long類型的,長度也比后臺返回得到要長,例如后臺返回的是1534498090,android中需要的是1534498090000,既然問題找到了,那么只需要改改代碼即可。
Date date = new Date(1534498090*1000L);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return sdf.format(date);
return 得到的答案是 2018-08-17 17:28:10
好了,問題解決了!??!