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); }
}