JAVA 使用DateUtils对日期进行格式转换
生活随笔
收集整理的這篇文章主要介紹了
JAVA 使用DateUtils对日期进行格式转换
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、時間工具類實例代碼
public class DateUtilsTest {public static void main(String[] args) {//1.獲取當前Date型日期Date nowDate = DateUtils.getNowDate();System.out.println("獲取當前Date型日期:"+nowDate);System.out.println();//2.獲取當前日期, 默認格式為yyyy-MM-ddString date = DateUtils.getDate();System.out.println("獲取當前日期, 默認格式為yyyy-MM-dd:"+date);System.out.println();//3.獲取當前日期, 默認格式為yyyy-MM-dd HH:mm:ssString time = DateUtils.getTime();System.out.println("獲取當前日期, 默認格式為yyyy-MM-dd HH:mm:ss:"+time);System.out.println();//4.獲取當前日期, 默認格式為yyyyMMddHHmmssString dateTimeNow = DateUtils.dateTimeNow();System.out.println("獲取當前日期, 默認格式為yyyyMMddHHmmss:"+dateTimeNow);System.out.println();//5.日期路徑 即年/月/日 如2018/08/08String datePath = DateUtils.datePath();System.out.println("日期路徑 即年/月/日 如2018/08/08:"+datePath);System.out.println();//6.日期路徑 即年/月/日 如20180808String dateTime = DateUtils.dateTime();System.out.println("日期路徑 即年/月/日 如20180808:"+dateTime);System.out.println();//7.獲取服務器啟動時間Date serverStartDate = DateUtils.getServerStartDate();String parseDateToStr = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, serverStartDate);System.out.println("獲取服務器啟動時間:"+parseDateToStr);System.out.println();//8.計算兩個時間差Date startDate = DateUtils.parseDate("2021-09-16 15:53:16");Date endDate = DateUtils.getNowDate();String datePoor = DateUtils.getDatePoor(endDate, startDate);System.out.println(startDate + "\t和\t" + endDate + "\t相差" + datePoor);System.out.println();//9.獲取近七天日期List lastSixDayData = DateUtils.getSevenDate();System.out.println(lastSixDayData);System.out.println();//10.獲取近六個月數據List<String> lastSixMonthDate = DateUtils.getLastSixMonthDate();System.out.println(lastSixMonthDate);System.out.println();//11.獲取近六個月數據List sixMonthData = DateUtils.getLastSixMonthData(2021, 4);System.out.println(sixMonthData);System.out.println();//12.獲取近六年日期List<String> lastSixYearDate = DateUtils.getLastSixYearDate();System.out.println(lastSixYearDate);System.out.println();} }二、時間工具類
/*** 時間工具類* * @author*/ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {public static String YYYY = "yyyy";public static String YYYY_MM = "yyyy-MM";public static String YYYY_MM_DD = "yyyy-MM-dd";public static String YYYYMMDDHHMMSS = "yyyyMMddHHmmss";public static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";private static String[] parsePatterns = {"yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM", "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy/MM","yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm", "yyyy.MM"};/*** 獲取當前Date型日期* * @return Date() 當前日期*/public static Date getNowDate(){return new Date();}/*** 獲取當前日期, 默認格式為yyyy-MM-dd* * @return String*/public static String getDate(){return dateTimeNow(YYYY_MM_DD);}public static final String getTime(){return dateTimeNow(YYYY_MM_DD_HH_MM_SS);}public static final String dateTimeNow(){return dateTimeNow(YYYYMMDDHHMMSS);}public static final String dateTimeNow(final String format){return parseDateToStr(format, new Date());}public static final String dateTime(final Date date){return parseDateToStr(YYYY_MM_DD, date);}public static final String parseDateToStr(final String format, final Date date){return new SimpleDateFormat(format).format(date);}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);}}/*** 日期路徑 即年/月/日 如2018/08/08*/public static final String datePath(){Date now = new Date();return DateFormatUtils.format(now, "yyyy/MM/dd");}/*** 日期路徑 即年/月/日 如20180808*/public static final String dateTime(){Date now = new Date();return DateFormatUtils.format(now, "yyyyMMdd");}/*** 日期型字符串轉化為日期 格式*/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 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 + "分鐘";}//獲取近七天日期public static List<String> getSevenDate() {List<String> dateList = new ArrayList<>();SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");for (int i = 0; i < 7; i++) {Date date = DateUtils.addDays(new Date(), -i);String formatDate = sdf.format(date);dateList.add(formatDate);}return dateList;}//獲取近六月日期public static List<String> getLastSixMonthDate() {List<String> dateList = new ArrayList<>();SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");for (int i = 0; i < 6; i++) {Date date = DateUtils.addMonths(new Date(), -i);String formatDate = sdf.format(date);dateList.add(formatDate);}return dateList;}/*** @Author chy* @Description 獲取近六個月的月份數據* @Date* @Param* @return**/public static List getLastSixMonthData(int year,int month){List resultList = new ArrayList();Calendar cal = Calendar.getInstance();//要先+1,才能把本月的算進去cal.set(Calendar.YEAR, year);cal.set(Calendar.MONTH, month);for(int i=0; i<6; i++) {//逐次往前推1個月cal.set(Calendar.MONTH, cal.get(Calendar.MONTH) - 1);resultList.add(String.valueOf(cal.get(Calendar.YEAR)) + (cal.get(Calendar.MONTH) + 1 < 10 ? "0" + (cal.get(Calendar.MONTH) + 1) : (cal.get(Calendar.MONTH) + 1)));}return resultList;}//獲取近六年日期public static List<String> getLastSixYearDate() {List<String> dateList = new ArrayList<>();SimpleDateFormat sdf = new SimpleDateFormat("yyyy");for (int i = 0; i < 6; i++) {Date date = DateUtils.addYears(new Date(), -i);String formatDate = sdf.format(date);dateList.add(formatDate);}return dateList;} }三、示例代碼
????????JavaUtilsDemo: java工具類實例代碼
總結
以上是生活随笔為你收集整理的JAVA 使用DateUtils对日期进行格式转换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 能上QQ不能上浏览器处理方法(win11
- 下一篇: QQ昵称字段 特殊字符的数据库存储