Practical tool method

1.List paging method

/**
 * Paging the list collection
 *
 * @return
 */
 public List< T > ListSplit(List< T > list, int page, int rows) { 
    List<T> newList=new ArrayList<T>();
    total=list.size();
    if ((rows*(page - 1)) <= total){
        newList=list.subList(rows*(page-1), ((rows*page)>= total?total:(rows*page)));
    }
    return newList;
}

2. Handling of dates

   

public class DateUtil {

    public static final int HUOR_16 = 16;
    public static final int HUOR_12 = 12;
    public static final int HUOR_20 = 23;
    public static final String DATE_8 = "yyyyMMdd";
    public static final DateTimeFormatter DATE_TIME_FORMATTER_8 = DateTimeFormatter.ofPattern(DATE_8);
    public static final String DATE_10 = "yyyy-MM-dd";
    public static final DateTimeFormatter DATE_TIME_FORMATTER_10 = DateTimeFormatter.ofPattern(DATE_10);
    public static final String DATETIME_19 = "yyyy-MM-dd HH:mm:ss";
    public static final DateTimeFormatter DATE_TIME_FORMATTER_19 = DateTimeFormatter.ofPattern(DATETIME_19);
    public static final String DATETIME_17 = "yyyyMMdd HH:mm:ss";
    public static final DateTimeFormatter DATE_TIME_FORMATTER_17 = DateTimeFormatter.ofPattern(DATETIME_17);
    public static final String DATETIME_14 = "yyyyMMddHHmmss";
    public static final DateTimeFormatter DATE_TIME_FORMATTER_14 = DateTimeFormatter.ofPattern(DATETIME_14);
    public static final String DATETIME_14_01 = "yyyyMMddHHmmssSSS";
    public static final DateTimeFormatter DATE_TIME_FORMATTER_14_01 = DateTimeFormatter.ofPattern(DATETIME_14_01);

    public static final SimpleDateFormat SDF_10 = new SimpleDateFormat("yyyy-MM-dd");

    public static String getCurrentDate() {
        return DATE_TIME_FORMATTER_10.format(LocalDate.now());
    }

    public static String getCurrentDateShort() {
        return DATE_TIME_FORMATTER_8.format(LocalDate.now());
    }

    public static String getCurrentDateTime() {
        return DATE_TIME_FORMATTER_17.format(LocalDateTime.now());
    }

    public static String getCurrentDateTime14() {
        return DATE_TIME_FORMATTER_14.format(LocalDateTime.now());
    }

    public static String getCurrentDateTime14_01() {
        return DATE_TIME_FORMATTER_14_01.format(LocalDateTime.now());
    }

    public static String getCurrentDateTime17() {
        return DATE_TIME_FORMATTER_17.format(LocalDateTime.now());
    }

    public static String getCurrentDateTime19() {
        return DATE_TIME_FORMATTER_19.format(LocalDateTime.now());
    }

    public static String getCurrentDateTime(String pattern) {
        return DateTimeFormatter.ofPattern(pattern).format(LocalDateTime.now());
    }

    public static String getCurrentDateTime(DateTimeFormatter formatter) {
        return formatter.format(LocalDateTime.now());
    }

    public static String getDateTimeStr(LocalDateTime dateTime, DateTimeFormatter formatter) {
        return formatter.format(dateTime);
    }

    public static String getDateStr(LocalDate dateTime, DateTimeFormatter formatter) {
        return formatter.format(dateTime);
    }

    public static LocalDateTime parseDateTime(String dateTime,DateTimeFormatter formatter){
        return LocalDateTime.parse(dateTime,formatter);
    }

    public static LocalDate parseDate(String date,DateTimeFormatter formatter){
        return LocalDate.parse(date,formatter);
    }

    public static long betweenDays(String startDateStr, String endDateStr){
        LocalDate startDate = parseDate(startDateStr, DateUtil.DATE_TIME_FORMATTER_8);
        LocalDate endDate = parseDate(endDateStr, DateUtil.DATE_TIME_FORMATTER_8);
        return endDate.toEpochDay()-startDate.toEpochDay();
    }

    public static long betweenDays(LocalDate startDate, LocalDate endDate) {
        return endDate.toEpochDay()-startDate.toEpochDay();
    }

    /**
 *      WARN      : This method calculates the difference in days based on the difference between hours, minutes and seconds
 One day is 0
      * To calculate the difference in days, please call the above overloaded method betweenDays(LocalDate,LocalDate) after LocalDateTime.toLocalDate()
      * @param startDateTime
 * @param endDateTime
 * @return
 */
 public static long betweenDays(LocalDateTime startDateTime ,LocalDateTime endDateTime){
         return Duration.between (startDateTime,endDateTime) .toDays ();                   
    }
    /**
      *
      * @description calculates the difference in days between two dates
      * @author Sun Zheng
      * @time 2014-8-27 2:00:43 pm
      * @return the difference in days
      */
 public static Integer dayDifference(String startDay, String endDay) {    
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
        long to;
        long from;
        Integer dayNum = 0;
        try {
            to = df.parse(endDay).getTime();
            from = df.parse(startDay).getTime();
            dayNum = (int) ((to - from) / (1000 * 60 * 60 * 24));
        } catch (ParseException e) {
            e.printStackTrace ();
        }

        return dayNum + 1;
    }
    /** Whether the date is earlier or later than another date
      * @author guohuan
      * @time 2017-10-30
      * @return true or false true for the former time before the latter time
      */
 public static Boolean compareDateTime(String startDay , String endDay) {    
        LocalDateTime startDayTime = DateUtil. parseDateTime (startDay, DateUtil. DATE_TIME_FORMATTER_19 );
        LocalDateTime endDayTime = DateUtil.parseDateTime(endDay,DateUtil.DATE_TIME_FORMATTER_19);
        return startDayTime.isAfter(endDayTime);

    }



}

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324877686&siteId=291194637