java的格式化时间工具类
生活随笔
收集整理的這篇文章主要介紹了
java的格式化时间工具类
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
代碼:
public class DateTimeUtil {private static final Logger logger = LoggerFactory.getLogger(DateTimeUtil.class);public static final String STANDER_FORMAT = "yyyy-MM-dd HH:mm:ss";public static final String STANDER_SHORT_FORMAT = "yyyy-MM-dd";public static Date addDuration(Date date, Duration duration) {Calendar ca = Calendar.getInstance();ca.setTime(date);ca.add(Calendar.SECOND, (int) duration.getSeconds());return ca.getTime();}public static String dateFormat(Date date) {if (null == date) {return "";}DateFormat dateFormat = new SimpleDateFormat(STANDER_FORMAT);return dateFormat.format(date);}public static String dateShortFormat(Date date) {if (null == date) {return "";}DateFormat dateFormat = new SimpleDateFormat(STANDER_SHORT_FORMAT);return dateFormat.format(date);}public static Date parse(String dateStr, String format) {try {return new SimpleDateFormat(format).parse(dateStr);} catch (ParseException e) {logger.error(e.getMessage(), e);}return null;}public static Date getMonthStartDay() {SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd 00:00:00");Calendar cale = Calendar.getInstance();cale.add(Calendar.MONTH, 0);cale.set(Calendar.DAY_OF_MONTH, 1);String dateStr = formatter.format(cale.getTime());return parse(dateStr, "yyyy-MM-dd HH:mm:ss");}public static Date getMonthEndDay() {SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd 23:59:59");Calendar cale = Calendar.getInstance();cale.add(Calendar.MONTH, 1);cale.set(Calendar.DAY_OF_MONTH, 0);String dateStr = formatter.format(cale.getTime());return parse(dateStr, STANDER_FORMAT);}public static List<String> MothStartToNowFormat() {Date startTime = getMonthStartDay();Calendar nowCalendar = Calendar.getInstance();nowCalendar.setTime(new Date());int mothDayCount = nowCalendar.get(Calendar.DAY_OF_MONTH);List<String> mothDays = new ArrayList<>(mothDayCount);Calendar startCalendar = new GregorianCalendar();startCalendar.setTime(startTime);SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");mothDays.add(formatter.format(startTime));for (int i = 0; i < mothDayCount - 1; i++) {startCalendar.add(Calendar.DATE, 1);Date end_date = startCalendar.getTime();mothDays.add(formatter.format(end_date));}return mothDays;}public static List<String> MothDay() {Calendar endCalendar = Calendar.getInstance();endCalendar.setTime(getMonthEndDay());int endMothDay = endCalendar.get(Calendar.DAY_OF_MONTH);List<String> list = new ArrayList<>(endMothDay);for (int i = 1; i <= endMothDay; i++) {list.add(String.valueOf(i));}return list;} }public static final Date dateTime(final String format, final String ts){try{return new SimpleDateFormat(format).parse(ts);}catch (ParseException e){throw new RuntimeException(e);}}/*** 日期型字符串轉化為日期 格式*/public static Date parseDate(Object str){if (str == null){return null;}try{return parseDate(str.toString(), parsePatterns);}catch (ParseException e){return null;}}/*** 獲取服務器啟動時間*/public static Date getServerStartDate(){long time = ManagementFactory.getRuntimeMXBean().getStartTime();return new Date(time);}/*** 計算相差天數*/public static int differentDaysByMillisecond(Date date1, Date date2){return Math.abs((int) ((date2.getTime() - date1.getTime()) / (1000 * 3600 * 24)));}/*** 計算兩個時間差*/public static String getDatePoor(Date endDate, Date nowDate){long nd = 1000 * 24 * 60 * 60;long nh = 1000 * 60 * 60;long nm = 1000 * 60;// long ns = 1000;// 獲得兩個時間的毫秒時間差異long diff = endDate.getTime() - nowDate.getTime();// 計算差多少天long day = diff / nd;// 計算差多少小時long hour = diff % nd / nh;// 計算差多少分鐘long min = diff % nd % nh / nm;// 計算差多少秒//輸出結果// long sec = diff % nd % nh % nm / ns;return day + "天" + hour + "小時" + min + "分鐘";} //ManagementFactory 類是一種工廠類,用于獲取 Java 平臺的管理 Bean。此類由靜態方法組成,每種靜態方法都會返回一個或多個表示 Java 虛擬機組件的管理接口的平臺 MXBean。使用:
System.out.println(DateTimeUtil.dateShortFormat(user.getBirthDay())+"時間");結果:
總結
以上是生活随笔為你收集整理的java的格式化时间工具类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: springboot中使用Applica
- 下一篇: json工具类ObjectMapper的