package com.fengzhi.web.util; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class DateUtil { /** * * @Title: getMonthFirstDay * @Description: (获取本月第一天的日期:2015-01-01) * @author fyf * @return */ public static String getMonthFirstDay() { Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH)); return dateFormat("yyyy-MM-dd", calendar.getTime()); } /** * * @Title: getMonthFirstDay * @Description: (获取本月第一天的日期:2015-02-01) * @author fyf * @param date * @return */ public static String getMonthFirstDay(String date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(dateFormat("yyyy-MM-dd", date)); calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH)); return dateFormat("yyyy-MM-dd", calendar.getTime()); } /** * * @Title: getMonthFirstDay * @Description: (获取本月第一天的日期:2015-03-01) * @author fyf * @param date * @return */ public static String getMonthFirstDay(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH)); return dateFormat("yyyy-MM-dd", calendar.getTime()); } /** * * @Title: getMonthLastDay * @Description: (获取本月的最后一天:2015-01-31) * @author fyf * @return */ public static String getMonthLastDay() { Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH)); return dateFormat("yyyy-MM-dd", calendar.getTime()); } /** * * @Title: getMonthLastDay * @Description: (获取本月的最后一天:2015-02-28) * @author fyf * @param date * @return */ public static String getMonthLastDay(String date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(dateFormat("yyyy-MM-dd", date)); calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH)); return dateFormat("yyyy-MM-dd", calendar.getTime()); } /** * * @Title: getMonthLastDay * @Description: (获取本月的最后一天:2015-09-30) * @author fyf * @param date * @return */ public static String getMonthLastDay(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH)); return dateFormat("yyyy-MM-dd", calendar.getTime()); } /** * * @Title: dateFormat * @Description: (格式化日期输出格式) * @author fyf * @param format * (yyyy-MM-dd)/(yyyy-MM-dd HH:mm:ss) * @param date * * @return (2015-01-01)/(2015-02-02 10:20:30) */ public static String dateFormat(String format, Date date) { SimpleDateFormat sdf = new SimpleDateFormat(format); return sdf.format(date); } /** * * @Title: dateFormat * @Description: (格式化日期输出格式) * @author fyf * @param format * @param date * @return */ public static Date dateFormat(String format, String date) { SimpleDateFormat sdf = new SimpleDateFormat(format); try { return sdf.parse(date); } catch (ParseException e) { return new Date(); } } /** * * @Title: getYear * @Description: (获取当前日期:年) * @author fyf * @return */ public static int getYear() { Calendar calendar = Calendar.getInstance(); return calendar.get(Calendar.YEAR); } /** * * @Title: getMonthOfYear * @Description: (获取当前日期:月) * @author fyf * @return */ public static int getMonthOfYear() { Calendar calendar = Calendar.getInstance(); return calendar.get(Calendar.MONTH); } /** * * @Title: getDayOfMonth * @Description: (获取当前日期:日) * @author fyf * @return */ public static int getDayOfMonth() { Calendar calendar = Calendar.getInstance(); return calendar.get(Calendar.DAY_OF_MONTH); } /** * * @Title: getHourOfDay * @Description: (获取当前时间:时) * @author fyf * @return */ public static int getHourOfDay() { Calendar calendar = Calendar.getInstance(); return calendar.get(Calendar.HOUR_OF_DAY); } /** * * @Title: getMinute * @Description: (获取当前时间:分) * @author fyf * @return */ public static int getMinute() { Calendar calendar = Calendar.getInstance(); return calendar.get(Calendar.MINUTE); } /** * * @Title: getSecond * @Description: (获取当前时间:秒) * @author fyf * @return */ public static int getSecond() { Calendar calendar = Calendar.getInstance(); return calendar.get(Calendar.SECOND); } /** * * @Title: getMilliSecond * @Description: (获取当前时间:毫秒) * @author fyf * @return */ public static int getMilliSecond() { Calendar calendar = Calendar.getInstance(); return calendar.get(Calendar.MILLISECOND); } /** * * @Title: getDayOfYear * @Description: (获取当前日期属于当年的第几天) * @author fyf * @return */ public static int getDayOfYear() { Calendar calendar = Calendar.getInstance(); return calendar.get(Calendar.DAY_OF_YEAR); } /** * * @Title: getDayOfYearFromString * @Description: (获取该日期是当年的第几天) * @author fyf * @param date * @return */ public static int getDayOfYearFromString(String date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(getYYYY_MM_ddFromString(date)); return calendar.get(Calendar.DAY_OF_YEAR); } /** * * @Title: getDayOfWeekFromString * @Description: (获取该日期是星期几) * @author fyf * @param date * @return */ public static String getDayOfWeekFromString(String date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(getYYYY_MM_ddFromString(date)); switch (calendar.get(Calendar.DAY_OF_WEEK)) { case Calendar.SUNDAY: return "星期日"; case Calendar.MONDAY: return "星期一"; case Calendar.TUESDAY: return "星期二"; case Calendar.WEDNESDAY: return "星期三"; case Calendar.THURSDAY: return "星期四"; case Calendar.FRIDAY: return "星期五"; case Calendar.SATURDAY: return "星期六"; } return null; } /** * * @Title: getDayOfWeek * @Description: (获取当前日期是本周星期几) * @author fyf * @return */ public static String getDayOfWeek() { Calendar calendar = Calendar.getInstance(); switch (calendar.get(Calendar.DAY_OF_WEEK)) { case Calendar.SUNDAY: return "星期日"; case Calendar.MONDAY: return "星期一"; case Calendar.TUESDAY: return "星期二"; case Calendar.WEDNESDAY: return "星期三"; case Calendar.THURSDAY: return "星期四"; case Calendar.FRIDAY: return "星期五"; case Calendar.SATURDAY: return "星期六"; } return null; } /** * * @Title: getWeekOfMonth * @Description: (获取当前日期是本月的第几周) * @author fyf * @return */ public static String getWeekOfMonth() { Calendar calendar = Calendar.getInstance(); switch (calendar.get(Calendar.WEEK_OF_MONTH)) { case 1: return "第一周"; case 2: return "第二周"; case 3: return "第三周"; case 4: return "第四周"; case 5: return "第五周"; } return null; } /** * * @Title: getWeekOfMonthFromeDate * @Description: (获取该日期是当年当月的第几周) * @author fyf * @param date * @return */ public static String getWeekOfMonthFromeDate(String date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(getYYYY_MM_ddFromString(date)); switch (calendar.get(Calendar.WEEK_OF_MONTH)) { case 1: return "第一周"; case 2: return "第二周"; case 3: return "第三周"; case 4: return "第四周"; case 5: return "第五周"; } return null; } /** * * @Title: getWeekOfYear * @Description: (获取当前日期是当年的第几周) * @author fyf * @return */ public static String getWeekOfYear() { Calendar calendar = Calendar.getInstance(); return "第" + (calendar.get(Calendar.WEEK_OF_YEAR)) + "周"; } /** * * @Title: getWeekOfYearFromString * @Description: (获取该日期是当年的第几周) * @author fyf * @param date * @return */ public static String getWeekOfYearFromString(String date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(getYYYY_MM_ddFromString(date)); return "第" + (calendar.get(Calendar.WEEK_OF_YEAR)) + "周"; } /** * * @Title: getYYYY_MM_dd * @Description: (获取日期:2015-01-01) * @author fyf * @return */ public static String getYYYY_MM_dd() { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); return sdf.format(new Date()); } /** * * @Title: getYYYY_MM_ddFromDate * @Description: (转换日期格式 to String :2015-06-16) * @author fyf * @param date * @return */ public static String getYYYY_MM_ddFromDate(Date date) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if (date == null) return getYYYY_MM_dd(); return sdf.format(date); } /** * * @Title: getYYYY_MM_ddFromString * @Description: (转换日期格式 to Date :2015-06-16) * @author fyf * @param date * @return */ public static Date getYYYY_MM_ddFromString(String date) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if (date == null || "".equals(date)) date = getYYYY_MM_dd(); try { return sdf.parse(date); } catch (Exception e) { e.printStackTrace(); return null; } } /** * * @Title: getY_m_dHms * @Description: (获取当前日期时间:2015-06-16 14:07:06) * @author fyf * @return */ public static String getY_m_dHms() { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); return sdf.format(new Date()); } /** * * @Title: getY_m_dHmsFromDate * @Description: (转换日期时间格式 to String :2015-06-16 14:07:06) * @author fyf * @param date * @return */ public static String getY_m_dHmsFromDate(Date date) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); if (date == null) return getY_m_dHms(); return sdf.format(date); } /** * * @Title: getY_m_dHmsFromString * @Description: (转换日期时间格式 to Date :2015-06-16 14:07:06) * @author fyf * @param date * @return */ public static Date getY_m_dHmsFromString(String date) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); if (date == null || "".equals(date)) date = getY_m_dHms(); try { return sdf.parse(date); } catch (Exception e) { e.printStackTrace(); return null; } } /** * * @Title: getYmdHmsSSS * @Description: (获取当前日期时间:20150616141020101) * @author fyf * @return */ public static String getYmdHmsSSS() { SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); return sdf.format(new Date()); } /** * * @Title: getYmdHmsSSSFromDate * @Description: (转换日期时间格式 to String :20150616141020101) * @author fyf * @param date * @return */ public static String getYmdHmsSSSFromDate(Date date) { SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); if (date == null) return getYmdHmsSSS(); return sdf.format(date); } /** * * @Title: getYmdHmsSSSFromString * @Description: (转换日期时间格式 to Date:20150616141020101) * @author fyf * @param date * @return */ public static Date getYmdHmsSSSFromString(String date) { SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); if (date == null || "".equals(date)) date = getYmdHmsSSS(); try { return sdf.parse(date); } catch (Exception e) { e.printStackTrace(); return null; } } /** * * @Title: getMondayOfWeek * @Description: (根据日期获取当周的星期一的日期) * @return */ public static String getMondayDateFromString(String date) { // 0:表示本周; 1:表示下周;-1:表示上周 int n = 0; Calendar cal = Calendar.getInstance(); cal.setTime(getYYYY_MM_ddFromString(date)); // 美国星期日作为每周的第一天(即:国内的本周星期天为美国的下周) cal.add(Calendar.DAY_OF_MONTH, -1); cal.add(Calendar.DATE, n * 7); // 想转星期几, Calendar就引用星期几(星期三:Calendar.WEDNESDAY) cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); return getYYYY_MM_ddFromDate(cal.getTime()); } /** * * @Title: getMondayOfWeek * @Description: (根据日期获取当周的星期一的日期) * @return */ public static String getMondayDateFromDate(Date date) { // 0:表示本周; 1:表示下周;-1:表示上周 int n = 0; Calendar cal = Calendar.getInstance(); if (date == null) date = new Date(); cal.setTime(date); // 美国星期日作为每周的第一天(即:国内的本周星期天为美国的下周) cal.add(Calendar.DAY_OF_MONTH, -1); cal.add(Calendar.DATE, n * 7); // 想转星期几, Calendar就引用星期几(星期三:Calendar.WEDNESDAY) cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); return getYYYY_MM_ddFromDate(cal.getTime()); } public static String getSundayOfWeek(String date) { // 0:表示本周; 1:表示下周;-1:表示上周 int n = 0; Calendar cal = Calendar.getInstance(); cal.setTime(getYYYY_MM_ddFromString(date)); // 美国星期天为一周第一天(即:国内的本周星期天为美国的下周) cal.add(Calendar.DAY_OF_MONTH, 6); cal.add(Calendar.DATE, n * 7); // 想转星期几, Calendar就引用星期几(星期三:Calendar.WEDNESDAY) cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY); try { date = getYYYY_MM_ddFromDate(cal.getTime()); } catch (Exception e) { e.printStackTrace(); } return date; } }