public class DateUtils { /** * 获取昨天零时的时间 * @return */ public static Date getYestDayStart(Date date){ Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.add(Calendar.DATE, -1); calendar.set(Calendar.HOUR_OF_DAY, 0); calendar.set(Calendar.MINUTE, 0); calendar.set(Calendar.SECOND, 0); return calendar.getTime(); } /** * 获取当天零时的时间 * @return */ public static Date getTodayStart(Date date){ Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.set(Calendar.HOUR_OF_DAY, 0); calendar.set(Calendar.MINUTE, 0); calendar.set(Calendar.SECOND, 0); return calendar.getTime(); } /** * 获取当前周的第一天零时 * @return */ public static Date getCurrentWeekStart(Date date){ Calendar calendar = Calendar.getInstance(); // 设置一个星期的第一天,按中国的习惯一个星期的第一天是星期一 calendar.setFirstDayOfWeek(Calendar.MONDAY); calendar.setTime(date); int dayWeek = calendar.get(Calendar.DAY_OF_WEEK); if (1 == dayWeek) { calendar.add(Calendar.DATE, -1); } // 获得当前日期是一个星期的第几天 int day = calendar.get(Calendar.DAY_OF_WEEK); // 根据日历的规则,给当前日期减去星期几与一个星期第一天的差值 calendar.add(Calendar.DATE, calendar.getFirstDayOfWeek() - day); calendar.set(Calendar.HOUR_OF_DAY, 0); calendar.set(Calendar.MINUTE, 0); calendar.set(Calendar.SECOND, 0); return calendar.getTime(); } public static Date getLastWeekStart(Date date){ Calendar calendar = Calendar.getInstance(); calendar.setTime(getCurrentWeekStart(date)); calendar.add(Calendar.DATE, -7); calendar.set(Calendar.HOUR_OF_DAY, 0); calendar.set(Calendar.MINUTE, 0); calendar.set(Calendar.SECOND, 0); return calendar.getTime(); } /** *获取当月1号零时时间 * @return */ public static Date getCurrentMonthStart(Date date){ Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.set(Calendar.DAY_OF_MONTH, 1); calendar.set(Calendar.HOUR_OF_DAY, 0); calendar.set(Calendar.MINUTE, 0); calendar.set(Calendar.SECOND, 0); return calendar.getTime(); } /** * 获取上月1号零时时间 * @return */ public static Date getLastMonthStart(Date date){ Calendar calendar = Calendar.getInstance(); calendar.setTime(getCurrentMonthStart(date)); calendar.add(Calendar.MONTH, -1); calendar.set(Calendar.HOUR_OF_DAY, 0); calendar.set(Calendar.MINUTE, 0); calendar.set(Calendar.SECOND, 0); return calendar.getTime(); } }
public class DateFormatUtils { /** * 转换指定的时间为指定的形式的字符串 * @param date * @param str * @return */ public static String format(Date date, String str){ SimpleDateFormat sdf = new SimpleDateFormat(str); String format= sdf.format(date); return format; } /** * 转化时间为字符串形式 * @param date * @return */ public static String format(Date date){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String format= sdf.format(date); return format; } /** * 将时间字符串转换为时间类型 * @param str * @return */ public static Date format(String str){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date parse = null; try { parse = sdf.parse(str); } catch (ParseException e) { e.printStackTrace(); } return parse; } }