Java與Unix時間戳的相互轉換
阿新 • • 發佈:2019-02-14
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;
}
呼叫方法
TimeStamp2Date("1473048265", "yyyy-MM-dd HH:mm:ss");
返回結果
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 "";
}
取得當前時間戳(精確到秒)
/**
* 取得當前時間戳(精確到秒)
*
* @return nowTimeStamp
*/
public static String getNowTimeStamp() {
long time = System.currentTimeMillis();
String nowTimeStamp = String.valueOf(time / 1000);
return nowTimeStamp;
}