时间戳,相信大家一定都不陌生,服务器经常会传回来时间戳,需要我们对时间戳进行处理。各种麻烦不断,比如转为为明天,今天,昨天,或者跟现在时间相对比,过了多长时间,转化为标准格式啊…各种情况,写了一个工具类,来分享下…
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 + ""; } }
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/10603.html