使用 DurationFormatUtils 格式化时间间隔毫秒值

    xiaoxiao2022-07-03  96

    原文链接:https://blog.csdn.net/KimSoft/article/details/5106984

      // 当前时间   Date now = new Date();

      // 2010上海世博会开幕时间   Date expo2010BeginDate = DateUtils.parseDate("2010-05-01 23:59:59", new String[] { "yyyy-MM-dd HH:mm:ss" });

      // 2010上海世博会闭幕时间   Date expo2010EndDate = DateUtils.parseDate("2010-10-31 23:59:59", new String[] { "yyyy-MM-dd HH:mm:ss" });

      System.out.println(DurationFormatUtils.formatDuration(expo2010BeginDate.getTime() - now.getTime(), "d"));

      System.out.println(DurationFormatUtils.formatDuration(expo2010BeginDate.getTime() - expo2010EndDate.getTime(),     "d"));

    Duration formatting utilities and constants. The following table describes the tokens used in the pattern language for formatting.

    以下是format参数

     

    characterduration elementyyearsMmonthsddaysHhoursmminutesssecondsSmilliseconds

     

        /**      * 将时间间隔毫秒值转化为**分**秒**毫秒      * @param intervalTime       * @return      */     public static String convertMillisecondsToMSS(Long intervalTime) {         String str=DurationFormatUtils.formatDuration(intervalTime, "mm分ss秒SSS毫秒");         return str;     }          /**      * 将时间间隔毫秒值转化为**分**秒      * @param intervalTime       * @return      */     public static String convertMillisecondsToMS(Long intervalTime) {         String str=DurationFormatUtils.formatDuration(intervalTime, "mm分ss秒");         return str;     }          /**      * 将时间间隔毫秒值转化为**时**分      * @param intervalTime       * @return      */     public static String convertMillisecondsToHM(Long intervalTime) {         String str = DurationFormatUtils.formatDuration(intervalTime, "HH小时mm分");         return str;     }          /**      * 将时间间隔毫秒值转化为**天      * @param intervalTime       * @return      */     public static String convertMillisecondsToDD(Long intervalTime) {         String str = DurationFormatUtils.formatDuration(intervalTime, "dd天");         return str;     }              /**      * 拿到1天后的时间点      * @param date      * @return      */     public static Date getNextDay(Date date){         Calendar calendar = Calendar.getInstance();         calendar.setTime(date);         calendar.add(Calendar.DAY_OF_MONTH, 1);         return calendar.getTime();     }          /**      * 拿到n天以后的时间点      * @param date      * @param number      * @return      */     public static Date getNextExpiringDate(Date date,int number){         Calendar calendar = Calendar.getInstance();         calendar.setTime(date);         calendar.add(Calendar.DAY_OF_MONTH, number);         return calendar.getTime();     }          /**      * 字符串转时间      * @param source      * @return      */     public static Date StringToDate(String source){         if(null==source || source.equals(""))             return null;         SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");         try {             return dateFormat.parse(source);         } catch (ParseException e) {             e.printStackTrace();             return null;         }     }          /**      * 字符串转时间      * @param source      * @param format      * @return      */     public static Date StringToDate(String source,String format){         if(null==source || source.equals(""))             return null;         SimpleDateFormat dateFormat = new SimpleDateFormat(format);         try {             return dateFormat.parse(source);         } catch (ParseException e) {             e.printStackTrace();             return null;         }     }          /**      * 时间转字符串      * @param date      * @return      */     public static String dateToString(Date date){         if(null==date)             return "";         SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");         return df.format(date);     }

        /**      * 拿到yyyy-MM-dd中的dd      * @param date      * @return      */     public static int getCurrentDayNumber(Date date){         Calendar calendar = Calendar.getInstance();         return calendar.get(Calendar.DAY_OF_MONTH);     }

     

    总结下Java Calendar的使用:

    参考资料:https://www.cnblogs.com/lsy-lancen/p/6122634.html

    The java.util.calendar class is an abstract class that provides methods for converting between a specific instant in time and a set of calendar fields such as YEAR, MONTH, DAY_OF_MONTH, HOUR, and so on, and for manipulating the calendar fields, such as getting the date of the next week.Following are the important points about Calendar

    API 文档上给的官方解释:

    java.util.Calendar类是一个抽象类,在某一特定的瞬间或日历上,提供年、月、日、小时之间的转换提供方法。

    只要来眼界下Calendar中的常量(filed)的作用

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

             Calendar cal = Calendar.getInstance();

             

             cal.get(Calendar.DATE);//-----------------------当天 1-31

             cal.get(Calendar.DAY_OF_MONTH);//---------------当天 1-31

             cal.get(Calendar.DAY_OF_WEEK);//----------------从星期天开始计算,如果今天星期二,那么返回3

             cal.get(Calendar.DAY_OF_YEAR);//----------------

             cal.get(Calendar.HOUR);//-----------------------12小时制

             cal.get(Calendar.HOUR_OF_DAY);//----------------24小时制,一般使用这个属性赋值

             cal.get(Calendar.MILLISECOND);//----------------

             cal.get(Calendar.MINUTE);//---------------------

             cal.get(Calendar.SECOND);//---------------------

             cal.get(Calendar.WEEK_OF_MONTH);//--------------

             cal.get(Calendar.WEEK_OF_YEAR);//---------------

             cal.get(Calendar.MONTH);//-----------------------月份获取需要 +1,那么,赋值时需要 -1

     1.运用这些常量赋值,通过这些常量获取值,同样可以通过它进行赋值

    2.赋值时,week与mooth是需要注意,week需要制定setFirstDayOfWeek,月份则需要加减1

    3.赋值时,一般采用年、月、日、时、分、秒

      Calendar.YEAR 、Calendar.MONTH 、Calendar.DAY_OF_MONTH、 Calendar.HOUR_OF_DAY 、Calendar.MINUTE、 Calendar.SECON 

    最新回复(0)