最近工作經常碰到傳輸時,日期格式的要求,整理最近用到的時間格的轉換打包成工具類
1 將毫秒字轉換成日期格式yyyy-MM-dd HH:mm:ss
2 將日期格式yyyy-MM-dd HH:mm:ss轉成毫秒
3 將日期格式yyyyMMddHHmmss轉成毫秒
4 將毫秒轉成時間串yyyyMMddHHmmss
5 將日期格式yyyyMMddHHmmss轉成將日期格式yyyy-MM-dd HH:mm:ss
6 將日期格式yyyy-MM-dd HH:mm:ss轉成將日期格式yyyyMMddHHmmss
7 計算兩個時間的間隔,返回分鍾數值,不足一分鍾舍去,計算的時間為標准日期格式yyyy-MM-dd HH:mm:ss
8 將分鍾數值轉成時間字符串
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class TimeChangeUtils { /** * 將毫秒字符串轉成時間格式yyyy-MM-dd HH:mm:ss * @param time * @return */ public static String getTimeFormat(String timeStr) { long time=Long.parseLong(timeStr); Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(time); int year = calendar.get(Calendar.YEAR); int month = calendar.get(Calendar.MONTH) + 1; String monthStr = addZero(month); int day = calendar.get(Calendar.DAY_OF_MONTH); String dayStr = addZero(day); int hour = calendar.get(Calendar.HOUR_OF_DAY);//24小時制 String hourStr = addZero(hour); int minute = calendar.get(Calendar.MINUTE); String minuteStr = addZero(minute); int second = calendar.get(Calendar.SECOND); String secondStr =addZero(second); return(year + "-" + monthStr + "-" + dayStr + " " + hourStr + ":" + minuteStr + ":" + secondStr); } private static String addZero(int param) { String paramStr= param<10 ? "0"+param : "" + param ; return paramStr; } /** * 將時間格式yyyy-MM-dd HH:mm:ss轉成毫秒 * @param time * @return * @throws ParseException */ public static Long getTimeFormat2mill(String timeStr) throws ParseException { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = simpleDateFormat.parse(timeStr); long ts = date.getTime(); return ts; } /** * 將時間格式yyyyMMddHHmmss轉成毫秒 * @param time * @return * @throws ParseException */ public static Long getTimeString2mill(String timeStr) throws ParseException { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); Date date = simpleDateFormat.parse(timeStr); long ts = date.getTime(); return ts; } /** * 將毫秒轉成時間串yyyyMMddHHmmss * @param time * @return * @throws ParseException */ public static String getmill2TimeString(String timeStr) throws ParseException { return getTimeFormat(timeStr).replaceAll("-", "").replaceAll(" ", "").replaceAll(":", ""); } /** * 將時間格式yyyyMMddHHmmss轉成將時間格式yyyy-MM-dd HH:mm:ss * @param time * @return * @throws ParseException */ public static String getTimeString2TimeFormat(String timeStr) throws ParseException { return getTimeFormat(""+getTimeString2mill(timeStr)); } /** * 將時間格式yyyy-MM-dd HH:mm:ss轉成將時間格式yyyyMMddHHmmss * @param time * @return * @throws ParseException */ public static String getTimeFormat2TimeString(String timeFormat) throws ParseException {
return getmill2TimeString(""+getTimeFormat2mill(timeFormat)); } /** * 計算兩個時間的間隔,返回分鍾數值,不足一分鍾舍去,計算的時間為標准時間格式yyyy-MM-dd HH:mm:ss * @param time * @return */ public static String getIntevalTime(String startTime,String endTime) throws ParseException { long intevaltime=getTimeFormat2mill(endTime)-getTimeFormat2mill(startTime); return ""+intevaltime/60000; } /** * 將分鍾數值轉成時間字符串 * @param time * @return */ public static String minute2Hour(String min){ int num=Integer.parseInt(min); int hour=num/60; int minute=num%60; if (hour==0) { return minute+"分鍾"; } return hour+"小時"+minute+"分鍾"; } }