package com.power.common; import org.apache.commons.lang3.time.DateFormatUtils; import org.apache.commons.lang3.time.DateUtils; import javax.xml.datatype.DatatypeFactory; import javax.xml.datatype.XMLGregorianCalendar; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; /** * 日期工具類, 繼承org.apache.commons.lang.time.DateUtils類 */ public class DateUtil extends org.apache.commons.lang3.time.DateUtils { private static String[] parsePatterns = {"yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm"}; /** * 獲得當前日期字符串 格式(yyyy-MM-dd) */ public static String getDate() { return getDate("yyyy-MM-dd"); } /** * 獲得當前日期字符串 格式(yyyy-MM-dd) pattern能夠爲:"yyyy-MM-dd" "HH:mm:ss" "E" */ public static String getDate(String pattern) { return DateFormatUtils.format(new Date(), pattern); } /** * 獲得日期字符串 默認格式(yyyy-MM-dd) pattern能夠爲:"yyyy-MM-dd" "HH:mm:ss" "E" */ public static String formatDate(Date date, Object... pattern) { String formatDate = null; if (pattern != null && pattern.length > 0) { formatDate = DateFormatUtils.format(date, pattern[0].toString()); } else { formatDate = DateFormatUtils.format(date, "yyyy-MM-dd"); } return formatDate; } /** * 獲得日期時間字符串,轉換格式(yyyy-MM-dd HH:mm:ss) */ public static String formatDateTime(Date date) { return formatDate(date, "yyyy-MM-dd HH:mm:ss"); } /** * 獲得當前時間字符串 格式(HH:mm:ss) */ public static String getTime() { return formatDate(new Date(), "HH:mm:ss"); } /** * 獲得當前日期和時間字符串 格式(yyyy-MM-dd HH:mm:ss) */ public static String getDateTime() { return formatDate(new Date(), "yyyy-MM-dd HH:mm:ss"); } /** * 獲得當前年份字符串 格式(yyyy) */ public static String getYear() { return formatDate(new Date(), "yyyy"); } /** * 獲得上年年份字符串 格式(yyyy) */ public static String getLastYear() { Date years = addYears(new Date(), -1); return formatDate(years, "yyyy"); } /** * 獲得當前月份字符串 格式(MM) */ public static String getMonth() { return formatDate(new Date(), "MM"); } /** * 獲得當前月份字符串 格式(MM) */ public static String getLastMonth() { Date months = addMonths(new Date(), -1); return formatDate(months, "MM"); } /** * 獲得當天字符串 格式(dd) */ public static String getDay() { return formatDate(new Date(), "dd"); } /** * 獲得當前星期字符串 格式(E)星期幾 */ public static String getWeek() { return formatDate(new Date(), "E"); } /** * 日期型字符串轉化爲日期 格式 * { "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", * "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm" } */ public static Date parseDate(Object str) { if (str == null) { return null; } try { return parseDate(str.toString(), parsePatterns); } catch (ParseException e) { return null; } } /** * 獲取過去的天數 * <p> * param date * return */ public static long pastDays(Date date) { long t = new Date().getTime() - date.getTime(); return t / (24 * 60 * 60 * 1000); } /** * 獲取過去的小時 * <p> * param date * return */ public static long pastHour(Date date) { long t = new Date().getTime() - date.getTime(); return t / (60 * 60 * 1000); } /** * 獲取過去的分鐘 * <p> * param date * return */ public static long pastMinutes(Date date) { long t = new Date().getTime() - date.getTime(); return t / (60 * 1000); } /** * 轉換爲時間(天,時:分:秒.毫秒) * <p> * param timeMillis * return */ public static String formatDateTime(long timeMillis) { long day = timeMillis / (24 * 60 * 60 * 1000); long hour = (timeMillis / (60 * 60 * 1000) - day * 24); long min = ((timeMillis / (60 * 1000)) - day * 24 * 60 - hour * 60); long s = (timeMillis / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60); long sss = (timeMillis - day * 24 * 60 * 60 * 1000 - hour * 60 * 60 * 1000 - min * 60 * 1000 - s * 1000); return (day > 0 ? day + "," : "") + hour + ":" + min + ":" + s + "." + sss; } /** * 獲取兩個日期之間的天數 * <p> * param before * param after * return */ public static double getDistanceOfTwoDate(Date before, Date after) { long beforeTime = before.getTime(); long afterTime = after.getTime(); return (afterTime - beforeTime) / (1000 * 60 * 60 * 24); } /** * 獲得某年某周的第一天 * <p> * param year * param week * return */ public static Date getFirstDayOfWeek(int year, int week) { week = week - 1; Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.YEAR, year); calendar.set(Calendar.MONTH, Calendar.JANUARY); calendar.set(Calendar.DATE, 1); Calendar cal = (Calendar) calendar.clone(); cal.add(Calendar.DATE, week * 7); return getFirstDayOfWeek(cal.getTime()); } /** * 獲得某年某周的最後一天 * <p> * param year * param week * return */ public static Date getLastDayOfWeek(int year, int week) { week = week - 1; Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.YEAR, year); calendar.set(Calendar.MONTH, Calendar.JANUARY); calendar.set(Calendar.DATE, 1); Calendar cal = (Calendar) calendar.clone(); cal.add(Calendar.DATE, week * 7); return getLastDayOfWeek(cal.getTime()); } /** * 取得當前日期所在周的第一天 * <p> * param date * return */ public static Date getFirstDayOfWeek(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setFirstDayOfWeek(Calendar.SUNDAY); calendar.setTime(date); calendar.set(Calendar.DAY_OF_WEEK, calendar.getFirstDayOfWeek()); // Sunday return calendar.getTime(); } /*** * 獲取上週一 * @param date * @return */ public static Date getLastWeekMonday(Date date) { Date a = DateUtils.addDays(date, -1); Calendar cal = Calendar.getInstance(); cal.setTime(a); cal.add(Calendar.WEEK_OF_YEAR, -1);// 一週 cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); return cal.getTime(); } /** * 獲得本週週一 * * @return yyyy-MM-dd */ public static Date getMondayOfThisWeek() { Calendar c = Calendar.getInstance(); int day_of_week = c.get(Calendar.DAY_OF_WEEK) - 1; if (day_of_week == 0) day_of_week = 7; c.add(Calendar.DATE, -day_of_week + 1); return c.getTime(); } /** * 取得當前日期所在周的最後一天 * <p> * param date * return */ public static Date getLastDayOfWeek(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setFirstDayOfWeek(Calendar.SUNDAY); calendar.setTime(date); calendar.set(Calendar.DAY_OF_WEEK, calendar.getFirstDayOfWeek() + 6); // Saturday return calendar.getTime(); } /** * 取得當前日期所在周的最後一天 * <p> * param date * return */ public static Date getLastDayOfWeekC(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setFirstDayOfWeek(Calendar.SUNDAY); calendar.setTime(date); calendar.set(Calendar.DAY_OF_WEEK, calendar.getFirstDayOfWeek() + 7); // sunDay return calendar.getTime(); } /** * 獲得本週週日 * * @return yyyy-MM-dd */ public static Date getSundayOfThisWeek() { Calendar c = Calendar.getInstance(); int day_of_week = c.get(Calendar.DAY_OF_WEEK) - 1; if (day_of_week == 0) day_of_week = 7; c.add(Calendar.DATE, -day_of_week + 7); return c.getTime(); } /** * 取得當前日期所在周的前一週最後一天 * <p> * param date * return */ public static Date getLastDayOfLastWeek(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); return getLastDayOfWeek(calendar.get(Calendar.YEAR), calendar.get(Calendar.WEEK_OF_YEAR) - 1); } /** * 取得當前日期所在周的下一週最後一天 * <p> * param date * return */ public static Date getLastDayOfNextWeek(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); return getLastDayOfWeek(calendar.get(Calendar.YEAR), calendar.get(Calendar.WEEK_OF_YEAR) + 1); } /** * 得到入參日期下週日的日期 * * @param date 入參日期 * @return 入參日期的下週日 */ public static Date getNextSunday(Date date) { //得到入參的日期 Calendar cd = Calendar.getInstance(); cd.setTime(date); // 得到入參日期是一週的第幾天 int dayOfWeek = cd.get(Calendar.DAY_OF_WEEK); // 得到入參日期相對於下週日的偏移量(在國外,星期一是一週的次日,因此下週日相對於本週來講,是第15天) // 若入參日期是週日,它的下週日偏移量是7 int nextMondayOffset = dayOfWeek == 1 ? 7 : 15 - dayOfWeek; // 增長到入參日期的下週日 cd.add(Calendar.DAY_OF_MONTH, nextMondayOffset); return cd.getTime(); } /** * 取得當前日期所在周的前一週第一天 * <p> * param date * return */ public static Date getFirstDayOfLastWeek(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); return getFirstDayOfWeek(calendar.get(Calendar.YEAR), calendar.get(Calendar.WEEK_OF_YEAR) - 1); } /** * 取得當前日期所在周的下一週第一天 * <p> * param date * return */ public static Date getFirstDayOfNextWeek(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); return getFirstDayOfWeek(calendar.get(Calendar.YEAR), calendar.get(Calendar.WEEK_OF_YEAR) + 1); } /** * 返回指定日期的月的第一天 * <p> * param date * return */ public static Date getFirstDayOfMonth(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), 1); return calendar.getTime(); } /** * Description:獲取指定日期年的第一天 */ public static Date getFirstDayOfYear(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.set(calendar.get(Calendar.YEAR), Calendar.JANUARY, 1); return calendar.getTime(); } /** * Description:獲取指定日期年的最後一天 */ public static Date getLastDayOfYear(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.set(calendar.get(Calendar.YEAR), Calendar.DECEMBER, 31); return calendar.getTime(); } /** * Description:獲取指定日期年的第一天 */ public static Date getFirstDayOfLastYear(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.set(calendar.get(Calendar.YEAR) - 1, Calendar.JANUARY, 1); return calendar.getTime(); } /** * Description:獲取指定日期年的最後一天 */ public static Date getLastDayOfLastYear(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.set(calendar.get(Calendar.YEAR) - 1, Calendar.DECEMBER, 31); return calendar.getTime(); } /** * 返回指定年月的月的第一天 * <p> * param year * param month * return */ public static Date getFirstDayOfMonth(Integer year, Integer month) { Calendar calendar = Calendar.getInstance(); if (year == null) { year = calendar.get(Calendar.YEAR); } if (month == null) { month = calendar.get(Calendar.MONTH); } calendar.set(year, month, 1); return calendar.getTime(); } /** * 返回指定日期的月的最後一天 * <p> * param date * return */ public static Date getLastDayOfMonth(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), 1); calendar.roll(Calendar.DATE, -1); return calendar.getTime(); } /** * 返回指定年月的月的最後一天 * <p> * param year * param month * return */ public static Date getLastDayOfMonth(Integer year, Integer month) { Calendar calendar = Calendar.getInstance(); if (year == null) { year = calendar.get(Calendar.YEAR); } if (month == null) { month = calendar.get(Calendar.MONTH); } calendar.set(year, month, 1); calendar.roll(Calendar.DATE, -1); return calendar.getTime(); } /** * Description:返回指定日期的上個月的第一天 */ public static Date getFirstDayOfLastMonth(Date date) { Date addMonths = addMonths(date, -1); return setDays(addMonths, 1); } /** * 返回指定日期的上個月的最後一天 * <p> * param date * return */ public static Date getLastDayOfLastMonth(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH) - 1, 1); calendar.roll(Calendar.DATE, -1); return calendar.getTime(); } /** * 返回指定日期的季的第一天 * <p> * param date * return */ public static Date getFirstDayOfQuarter(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); return getFirstDayOfQuarter(calendar.get(Calendar.YEAR), getQuarterOfYear(date)); } /** * 返回指定年季的季的第一天 * <p> * param year * param quarter * return */ public static Date getFirstDayOfQuarter(Integer year, Integer quarter) { Calendar calendar = Calendar.getInstance(); Integer month; if (quarter == 1) { month = 1 - 1; } else if (quarter == 2) { month = 4 - 1; } else if (quarter == 3) { month = 7 - 1; } else if (quarter == 4) { month = 10 - 1; } else { month = calendar.get(Calendar.MONTH); } return getFirstDayOfMonth(year, month); } /** * 返回當前日期的季的最後一天 * <p> * param date * return */ public static Date getLastDayOfQuarter(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); return getLastDayOfQuarter(calendar.get(Calendar.YEAR), getQuarterOfYear(date)); } /** * 返回指定年季的季的最後一天 * <p> * param year * param quarter * return */ public static Date getLastDayOfQuarter(Integer year, Integer quarter) { Calendar calendar = Calendar.getInstance(); Integer month; if (quarter == 1) { month = 3 - 1; } else if (quarter == 2) { month = 6 - 1; } else if (quarter == 3) { month = 9 - 1; } else if (quarter == 4) { month = 12 - 1; } else { month = calendar.get(Calendar.MONTH); } return getLastDayOfMonth(year, month); } /** * 返回當前日期的季的第一天 * <p> * param date * return */ public static Date getFirstDayOfLastQuarter(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); return getFirstDayOfLastQuarter(calendar.get(Calendar.YEAR), getQuarterOfYear(date)); } /** * 返回指定日期的上一季的最後一天 * <p> * param date * return */ public static Date getLastDayOfLastQuarter(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); return getLastDayOfLastQuarter(calendar.get(Calendar.YEAR), getQuarterOfYear(date)); } /** * 返回指定年季的上一季的最後一天 * <p> * param year * param quarter * return */ public static Date getLastDayOfLastQuarter(Integer year, Integer quarter) { Calendar calendar = Calendar.getInstance(); Integer month = new Integer(0); if (quarter == 1) { month = 12 - 1; } else if (quarter == 2) { month = 3 - 1; } else if (quarter == 3) { month = 6 - 1; } else if (quarter == 4) { month = 9 - 1; } else { month = calendar.get(Calendar.MONTH); } return getLastDayOfMonth(year, month); } /** * 返回指定年季的上一季的第一天 * <p> * param year * param quarter * return */ public static Date getFirstDayOfLastQuarter(Integer year, Integer quarter) { Calendar calendar = Calendar.getInstance(); Integer month = new Integer(0); if (quarter == 1) { month = 12 - 3; } else if (quarter == 2) { month = 3 - 3; } else if (quarter == 3) { month = 6 - 3; } else if (quarter == 4) { month = 9 - 3; } else { month = calendar.get(Calendar.MONTH); } return getFirstDayOfMonth(year, month); } /** * 返回指定日期的季度 * <p> * param date * return */ public static int getQuarterOfYear(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); return calendar.get(Calendar.MONTH) / 3 + 1; } /** * Description:獲取當前上一季度 */ public static int getLastQuarterOfYear(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); return calendar.get(Calendar.MONTH) / 3; } public static Date getDateStart(Date date) throws ParseException { if (date == null) { return null; } SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); date = sdf.parse(formatDate(date, "yyyy-MM-dd") + " 00:00:00"); return date; } public static Date getDateEnd(Date date) throws ParseException { if (date == null) { return null; } SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); date = sdf.parse(formatDate(date, "yyyy-MM-dd") + " 23:59:59"); return date; } /** * 獲取指定日期的星期 */ public static String getDateWeek(Date date) { return formatDate(date, "E"); } /** * 獲取某年某周的星期一 * <p> * param y * param w * return */ public static Date getBeginDate(Integer y, Integer w) { Calendar calendar = Calendar.getInstance(); calendar.set(y, 0, 1, 0, 0, 0); int week = calendar.get(calendar.DAY_OF_WEEK) - 1; int days = w * 7 - (8 - week); calendar.add(Calendar.DATE, days - 1); Date beginDate = calendar.getTime(); return beginDate; } /** * 獲取某年某周的星期天 * <p> * param y * param w * return */ public static Date getEndDate(Integer y, Integer w) { Date beginDate = getBeginDate(y, w); Calendar calendar = Calendar.getInstance(); calendar.setTime(beginDate); calendar.add(Calendar.DATE, 6); Date endDate = calendar.getTime(); return endDate; } /** * Description:獲取進行比較的日期整型數字 */ public static int getDateInt(String date) { return Integer.parseInt(DateFormatUtils.format(DateUtil.parseDate(date), "yyyyMMdd")); } /** * Description:獲取進行比較的日期整型數字 */ public static int getDateInt(Date date) { return Integer.parseInt(DateFormatUtils.format(date, "yyyyMMdd")); } /** * 日期轉換爲 webservice UTC日期 * * @param date 要轉換的 util 日期 */ public static XMLGregorianCalendar dateToWsXML(Date date) { GregorianCalendar gregorianCalendar = new GregorianCalendar(); gregorianCalendar.setTime(date); XMLGregorianCalendar xmlGregorianCalendar = null; try { xmlGregorianCalendar = DatatypeFactory.newInstance().newXMLGregorianCalendar(gregorianCalendar); } catch (Exception e) { e.printStackTrace(); } return xmlGregorianCalendar; } /** * webservice UTC 日期轉換爲 util 日期 * * @param gc webservice 封裝的 XMLGregorianCalendar 日期類型 */ public static Date wsXMLToDate(XMLGregorianCalendar gc) { GregorianCalendar gregorianCalendar = gc.toGregorianCalendar(); return gregorianCalendar.getTime(); } /** * 將格式爲 Thu Jun 15 16:29:24 CST 2017 的字符串格式化爲業務中須要的格式日期字符串 * * @param localeEnglishDate 待轉換的格式爲 Thu Jun 15 16:29:24 CST 2017 的日期字符串 * @param pattern 業務中須要的日期格式 */ public static String localeEnglishDateToFormatDate(String localeEnglishDate, String pattern) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.ENGLISH); Date parse = null; try { parse = simpleDateFormat.parse(localeEnglishDate); } catch (ParseException e) { e.printStackTrace(); } return DateFormatUtils.format(parse, pattern); } /** * 獲取某段時這裏寫代碼片間內的全部日期 * @param dBegin * @param dEnd * @return */ public static List<Date> findDates(Date dBegin, Date dEnd) { List<Date> lDate = new ArrayList<Date>(); lDate.add(dBegin); Calendar calBegin = Calendar.getInstance(); // 使用給定的 Date 設置此 Calendar 的時間 calBegin.setTime(dBegin); Calendar calEnd = Calendar.getInstance(); // 使用給定的 Date 設置此 Calendar 的時間 calEnd.setTime(dEnd); // 測試此日期是否在指定日期以後 while (dEnd.after(calBegin.getTime())) { // 根據日曆的規則,爲給定的日曆字段添加或減去指定的時間量 calBegin.add(Calendar.DAY_OF_MONTH, 1); lDate.add(calBegin.getTime()); } return lDate; }
/*** * 增長小時 * @param day 當前時間 * @param hour 增長小時 * @return */ public static String addDateMinut(String day, int hour) { SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); Date date = null; try { date = format.parse(day); } catch (Exception ex) { ex.printStackTrace(); } if (date == null) return ""; Calendar cal = Calendar.getInstance(); cal.setTime(date); cal.add(Calendar.HOUR, hour);// 24小時制 date = cal.getTime(); cal = null; return format.format(date); } /** * 獲得當前時間的前N小時 * @return */ public static String getBeforeByHourTime(int ihour){ String returnstr = ""; Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.HOUR_OF_DAY, calendar.get(Calendar.HOUR_OF_DAY) - ihour); SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); returnstr = df.format(calendar.getTime()); return returnstr; } /**增長分鐘時間 * @param oldTime 原時間 * @param add 增長時間 * @return * @throws ParseException */ public static String TimeAdd(String oldTime,String add) throws ParseException{ int addMit = Integer.valueOf(add); DateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); Date date = df.parse(oldTime); Calendar c1 =Calendar.getInstance(); c1.clear(); c1.setTime(date); long mit = c1.getTimeInMillis(); long addMin = mit + addMit*60*1000; Date date2 = new Date(addMin); String newTime = df.format(date2); return newTime; }
public static void main(String[] args) { try { Date nowDate = new Date(); Date lastDate = addYears(nowDate, -1); System.out.println("01.已 yyyy-MM-dd 格式獲取日期字符串:" + getDate()); System.out.println("02.已特定日期格式獲取日期字符串:" + getDate("yyyyMMdd")); System.out.println("03.已 yyyy-MM-dd HH:mm:ss 日期格式獲取特定日期字符串:" + formatDateTime(nowDate)); System.out.println("04.已特定日期格式獲取特定日期字符串:" + formatDate(nowDate, "yyyy-MM-dd-HH:mm:ss")); System.out.println("05.獲取當前時間小時分秒字符串:" + getTime()); System.out.println("06.獲取當前時間全字符串:" + getDateTime()); System.out.println("07.獲取當前年字符串:" + getYear()); System.out.println("08.獲取去年字符串:" + getLastYear()); System.out.println("09.獲取當前月字符串:" + getMonth()); System.out.println("10.獲取上一月字符串:" + getLastMonth()); System.out.println("11.獲取當前日字符串:" + getDay()); System.out.println("12.獲取當前星期字符串:" + getWeek()); System.out.println("13.將日期型字符串轉化爲日期 格式:" + parseDate("yyyy-MM-dd HH:mm:ss")); System.out.println("14.入參與當前時間對比獲取過去的天數:" + pastDays(lastDate)); System.out.println("15.入參與當前時間對比獲取過去的小時:" + pastHour(lastDate)); System.out.println("16.入參與當前時間對比獲取過去的分鐘:" + pastMinutes(lastDate)); System.out.println("17.長整型轉換爲時間(天,時:分:秒.毫秒):" + formatDateTime(222222222)); System.out.println("18.獲取兩個日期之間相差的天數:" + getDistanceOfTwoDate(lastDate, new Date())); System.out.println("19.獲取指定日期年的第一天:" + formatDate(getFirstDayOfYear(nowDate))); System.out.println("20.獲取指定日期年的最後一天:" + formatDate(getLastDayOfYear(nowDate))); System.out.println("22.獲取指定日期上一年的第一天:" + formatDate(getFirstDayOfLastYear(nowDate))); System.out.println("22.獲取指定日期上一年的最後一天:" + formatDate(getLastDayOfLastYear(nowDate))); System.out.println("23.獲得某年某周的第一天:" + formatDate(getFirstDayOfWeek(2017, 7))); System.out.println("24.獲得某年某周的最後一天:" + formatDate(getLastDayOfWeek(2017, 5))); System.out.println("25.獲得指定日期所在周的第一天:" + formatDate(getFirstDayOfWeek(nowDate))); System.out.println("26.獲取指定日期所在周的最後一天:" + formatDate(getLastDayOfWeek(nowDate))); System.out.println("27.獲取指定日期上週最後一天:" + formatDate(getLastDayOfLastWeek(nowDate))); System.out.println("28.獲取指定日期月的第一天:" + formatDate(getFirstDayOfMonth(nowDate))); System.out.println("29.獲取指定日期月的最後一天:" + formatDate(getLastDayOfMonth(nowDate))); System.out.println("30.獲取指定日期上月第一天:" + formatDate(getFirstDayOfLastMonth(nowDate))); System.out.println("31.獲取指定日期上月最後一天:" + formatDate(getLastDayOfLastMonth(nowDate))); System.out.println("32.獲取某年某月的第一天:" + formatDate(getFirstDayOfMonth(2016, 11))); System.out.println("33.獲取某年某月的最後一天:" + formatDate(getLastDayOfMonth(2016, 11))); System.out.println("34.獲取指定日期季度第一天:" + formatDate(getFirstDayOfQuarter(nowDate))); System.out.println("35.獲取指定日期季度最後一天:" + formatDate(getLastDayOfQuarter(nowDate))); System.out.println("36.獲取某年某月對應季度第一天:" + formatDate(getFirstDayOfQuarter(2016, 1))); System.out.println("37.獲取某年某月對應季度最後一天:" + formatDate(getLastDayOfQuarter(2016, 2))); System.out.println("38.獲取指定季度上一季度第一天:" + formatDate(getFirstDayOfLastQuarter(nowDate))); System.out.println("39.獲取指定季度上一季度最後一天:" + formatDate(getLastDayOfLastQuarter(nowDate))); System.out.println("40.獲取某年某月對應上一季度第一天:" + formatDate(getFirstDayOfLastQuarter(2016, 3))); System.out.println("41.獲取某年某月對應上一季度最後一天:" + formatDate(getLastDayOfLastQuarter(2016, 4))); System.out.println("42.獲取指定日期季度:" + getQuarterOfYear(nowDate)); System.out.println("43.獲取指定日期上一季度:" + getLastQuarterOfYear(nowDate)); System.out.println("44.獲取指定日期開始:" + formatDate(getDateStart(nowDate), "yyyy-MM-dd HH:mm:ss")); System.out.println("45.獲取指定日期結束:" + formatDate(getDateEnd(nowDate), "yyyy-MM-dd HH:mm:ss")); System.out.println("46.獲取指定日期星期:" + getDateWeek(nowDate)); System.out.println("47.獲取某年某周的第一天:" + formatDate(getBeginDate(2017, 2))); System.out.println("48.獲取某年某周的星期天:" + formatDate(getEndDate(2016, 1))); System.out.println("49.獲取指定日期字符串的整數:" + getDateInt("2016-07-14")); System.out.println("50.獲取指定日期的整數:" + getDateInt(nowDate)); } catch (Exception e) { e.printStackTrace(); } } }