Java將Unix時間戳轉換成指定格式日期
當從服務器獲取數據的時候,有時候獲取的數據中的時間在很多的情況下是時間戳類似於這樣1473048265
,當然,我們不可能將這些數據以時間戳的形式展示給用戶,通常情況,是要對這個時間戳進行一系列的處理加工,使其變成我們想要並習慣瀏覽的那種格式,那麼怎麼處理這些時間戳格式的數據呢?每個語言和框架都有自己的方法和方式。
下面將以Java的方法來實現,廢話少說直接擼碼……
方法實現
/**
* Java將Unix時間戳轉換成指定格式日期字符串
* @param timestampString 時間戳 如:"1473048265";
* @param formats 要格式化的格式 默認:"yyyy-MM-dd HH:mm:ss";
*
* @return 返回結果 如:"2016-09-05 16:06:42";
*/
public static String TimeStamp2Date(String timestampString, String formats) {
if (TextUtils.isEmpty(formats))
formats = "yyyy-MM-dd HH:mm:ss";
Long timestamp = Long.parseLong(timestampString) * 1000;
String date = new SimpleDateFormat(formats, Locale.CHINA).format(new Date(timestamp));
return date;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
調用方法
TimeStamp2Date("1473048265", "yyyy-MM-dd HH:mm:ss");
- 1
- 1
返回結果
2016-09-05 16:06:42
將Java指定格式日期轉換成Unix時間戳
/**
* 日期格式字符串轉換成時間戳
*
* @param dateStr 字符串日期
* @param format 如:yyyy-MM-dd HH:mm:ss
*
* @return
*/
public static String Date2TimeStamp(String dateStr, String format) {
try {
SimpleDateFormat sdf = new SimpleDateFormat(format);
return String.valueOf(sdf.parse(dateStr).getTime() / 1000);
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
取得當前時間戳(精確到秒)
/**
* 取得當前時間戳(精確到秒)
*
* @return nowTimeStamp
*/
public static String getNowTimeStamp() {
long time = System.currentTimeMillis();
String nowTimeStamp = String.valueOf(time / 1000);
return nowTimeStamp;
}