原文:http://www.open-open.com/code/view/1435301895825java
時間戳,相信你們必定都不陌生,服務器常常會傳回來時間戳,須要咱們對時間戳進行處理。各類麻煩不斷,好比轉爲爲明天,今天,昨天,或者跟如今時間相對比,過了多長時間,轉化爲標準格式啊...各類狀況,寫了一個工具類,來分享下服務器
import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class DateUtils { /** * 返回unix時間戳 (1970年至今的秒數) * @return */ public static long getUnixStamp(){ return System.currentTimeMillis()/1000; } /** * 獲得昨天的日期 * @return */ public static String getYestoryDate() { Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DATE,-1); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String yestoday = sdf.format(calendar.getTime()); return yestoday; } /** * 獲得今天的日期 * @return */ public static String getTodayDate(){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String date = sdf.format(new Date()); return date; } /** * 時間戳轉化爲時間格式 * @param timeStamp * @return */ public static String timeStampToStr(long timeStamp) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String date = sdf.format(timeStamp * 1000); return date; } /** * 獲得日期 yyyy-MM-dd * @param timeStamp 時間戳 * @return */ public static String formatDate(long timeStamp) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String date = sdf.format(timeStamp*1000); return date; } /** * 獲得時間 HH:mm:ss * @param timeStamp 時間戳 * @return */ public static String getTime(long timeStamp) { String time = null; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String date = sdf.format(timeStamp * 1000); String[] split = date.split("\\s"); if ( split.length > 1 ){ time = split[1]; } return time; } /** * 將一個時間戳轉換成提示性時間字符串,如剛剛,1秒前 * * @param timeStamp * @return */ public static String convertTimeToFormat(long timeStamp) { long curTime =System.currentTimeMillis() / (long) 1000 ; long time = curTime - timeStamp; if (time < 60 && time >= 0) { return "剛剛"; } else if (time >= 60 && time < 3600) { return time / 60 + "分鐘前"; } else if (time >= 3600 && time < 3600 * 24) { return time / 3600 + "小時前"; } else if (time >= 3600 * 24 && time < 3600 * 24 * 30) { return time / 3600 / 24 + "天前"; } else if (time >= 3600 * 24 * 30 && time < 3600 * 24 * 30 * 12) { return time / 3600 / 24 / 30 + "個月前"; } else if (time >= 3600 * 24 * 30 * 12) { return time / 3600 / 24 / 30 / 12 + "年前"; } else { return "剛剛"; } } /** * 將一個時間戳轉換成提示性時間字符串,(多少分鐘) * * @param timeStamp * @return */ public static String timeStampToFormat(long timeStamp) { long curTime =System.currentTimeMillis() / (long) 1000 ; long time = curTime - timeStamp; return time/60 + ""; } }