package com.farriver.bwf.common.utilities; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.HashMap; import java.util.Map; public class DateUtil { public static Date parseDate(String dateStr, DateFormat dateFormat) { Date date = null; try { date = dateFormat.parse(dateStr); } catch (Exception e) { } return date; } public static String dateToString(Date date, String dateFormat) { String dateStr = null; try { SimpleDateFormat format = new SimpleDateFormat(dateFormat); dateStr = format.format(date); } catch (Exception e) { } return dateStr; } public static Map getDayDuration(Date date) { Map map = new HashMap<>(); Date from = null; Date to = null; try { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.set(Calendar.HOUR_OF_DAY, 0); calendar.set(Calendar.MINUTE, 0); calendar.set(Calendar.SECOND, 0); calendar.set(Calendar.MILLISECOND, 0); from = calendar.getTime(); calendar.setTime(date); calendar.set(Calendar.HOUR_OF_DAY, 23); calendar.set(Calendar.MINUTE, 59); calendar.set(Calendar.SECOND, 59); calendar.set(Calendar.MILLISECOND, 999); to = calendar.getTime(); } catch (Exception e) { } map.put("from", from); map.put("to", to); return map; } public static Map getMonthDuration(Date date) { Map map = new HashMap<>(); Date from = null; Date to = null; try { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); int year = calendar.get(Calendar.YEAR); int month = calendar.get(Calendar.MONTH); Calendar c = Calendar.getInstance(); c.set(Calendar.YEAR, year); c.set(Calendar.MONTH, month); c.set(Calendar.DAY_OF_MONTH, 1); c.set(Calendar.HOUR_OF_DAY, 0); c.set(Calendar.MINUTE, 0); c.set(Calendar.SECOND, 0); c.set(Calendar.MILLISECOND, 0); from = c.getTime(); Calendar c2 = Calendar.getInstance(); c2.set(Calendar.YEAR, year); c2.set(Calendar.MONTH, month); int lastDate = c2.getActualMaximum(Calendar.DATE); c2.set(Calendar.DAY_OF_MONTH, lastDate); c2.set(Calendar.HOUR_OF_DAY, 23); c2.set(Calendar.MINUTE, 59); c2.set(Calendar.SECOND, 59); c2.set(Calendar.MILLISECOND, 999); to = c2.getTime(); } catch (Exception e) { } map.put("from", from); map.put("to", to); return map; } public static Map getYearDuration(Date date) { Map map = new HashMap<>(); Date from = null; Date to = null; try { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); int year = calendar.get(Calendar.YEAR); int month = calendar.get(Calendar.MONTH); Calendar c = Calendar.getInstance(); c.set(year, 0, 1); c.set(Calendar.HOUR_OF_DAY, 0); c.set(Calendar.MINUTE, 0); c.set(Calendar.SECOND, 0); c.set(Calendar.MILLISECOND, 0); from = c.getTime(); Calendar c2 = Calendar.getInstance(); c2.set(Calendar.YEAR, year + 1); c2.set(Calendar.MONTH, 0); c2.set(Calendar.DAY_OF_MONTH, 0); c2.set(Calendar.DATE, 0); c2.set(Calendar.HOUR_OF_DAY, 23); c2.set(Calendar.MINUTE, 59); c2.set(Calendar.SECOND, 59); c2.set(Calendar.MILLISECOND, 999); to = c2.getTime(); } catch (Exception e) { } map.put("from", from); map.put("to", to); return map; } }