import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; /** * Date工具类 */ public class Dateutil { /** * 当天的开始时间 * @return */ public static long startOfTodDay() { Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.HOUR_OF_DAY, 0); calendar.set(Calendar.MINUTE, 0); calendar.set(Calendar.SECOND, 0); calendar.set(Calendar.MILLISECOND, 0); Date date=calendar.getTime(); return date.getTime(); } /** * 当天的结束时间 * @return */ public static long endOfTodDay() { Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.HOUR_OF_DAY, 23); calendar.set(Calendar.MINUTE, 59); calendar.set(Calendar.SECOND, 59); calendar.set(Calendar.MILLISECOND, 999); Date date=calendar.getTime(); return date.getTime(); } /** * 昨天的开始时间 * @return */ public static long startOfyesterday() { Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.HOUR_OF_DAY, 0); calendar.set(Calendar.MINUTE, 0); calendar.set(Calendar.SECOND, 0); calendar.add(Calendar.DATE, -1); calendar.set(Calendar.MILLISECOND, 0); Date date=calendar.getTime(); return date.getTime(); } /** * 昨天的结束时间 * @return */ public static long endOfyesterday() { Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.HOUR_OF_DAY, 23); calendar.set(Calendar.MINUTE, 59); calendar.set(Calendar.SECOND, 59); calendar.set(Calendar.MILLISECOND, 999); calendar.add(Calendar.DATE, -1); Date date=calendar.getTime(); return date.getTime(); } /** * 功能:获取上周的开始时间 */ public static long startOfLastWeek() {// 当周开始时间 return startOfThisWeek() - 7 * 24 * 60 * 60 * 1000; } /** * 功能:获取上周的结束时间 */ public static long endOfLastWeek() {// 当周开始时间 return endOfThisWeek() - 7 * 24 * 60 * 60 * 1000; } /** * 功能:获取本周的开始时间 示例:2013-05-13 00:00:00 */ public static long startOfThisWeek() {// 当周开始时间 Calendar currentDate = Calendar.getInstance(); currentDate.setFirstDayOfWeek(Calendar.MONDAY); currentDate.set(Calendar.HOUR_OF_DAY, 0); currentDate.set(Calendar.MINUTE, 0); currentDate.set(Calendar.SECOND, 0); currentDate.set(Calendar.MILLISECOND, 0); currentDate.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); Date date=currentDate.getTime(); return date.getTime(); } /** * 功能:获取本周的结束时间 示例:2013-05-19 23:59:59 */ public static long endOfThisWeek() {// 当周结束时间 Calendar currentDate = Calendar.getInstance(); currentDate.setFirstDayOfWeek(Calendar.MONDAY); currentDate.set(Calendar.HOUR_OF_DAY, 23); currentDate.set(Calendar.MINUTE, 59); currentDate.set(Calendar.SECOND, 59); currentDate.set(Calendar.MILLISECOND, 999); currentDate.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY); Date date=currentDate.getTime(); return date.getTime(); } /** * 功能:获取本月的开始时间 */ public static long startOfThisMonth() {// 当周开始时间 Calendar currentDate = Calendar.getInstance(); currentDate.set(Calendar.HOUR_OF_DAY, 0); currentDate.set(Calendar.MINUTE, 0); currentDate.set(Calendar.SECOND, 0); currentDate.set(Calendar.MILLISECOND, 0); currentDate.set(Calendar.DAY_OF_MONTH, 1); Date date=currentDate.getTime(); return date.getTime(); } public static long endOfThisMonth() { Calendar cal = Calendar.getInstance(); cal.set(Calendar.DAY_OF_MONTH, 1); cal.set(Calendar.HOUR_OF_DAY, 23); cal.set(Calendar.MINUTE, 59); cal.set(Calendar.SECOND, 59); cal.set(Calendar.MILLISECOND, 999); cal.add(Calendar.MONTH, 1); cal.add(Calendar.DATE, -1); Date date=cal.getTime(); return date.getTime(); } /** * 功能:获取上月的开始时间 */ public static long startOfLastMonth() {// 当周开始时间 Calendar currentDate = Calendar.getInstance(); currentDate.set(Calendar.HOUR_OF_DAY, 0); currentDate.set(Calendar.MINUTE, 0); currentDate.set(Calendar.SECOND, 0); currentDate.set(Calendar.MILLISECOND, 0); currentDate.set(Calendar.DAY_OF_MONTH, 1); currentDate.add(Calendar.MONTH, -1); Date date=currentDate.getTime(); return date.getTime(); } /** * 功能:获取上月的结束时间 */ public static long endOfLastMonth() { Calendar cal = Calendar.getInstance(); cal.set(Calendar.DAY_OF_MONTH, 1); cal.set(Calendar.HOUR_OF_DAY, 23); cal.set(Calendar.MINUTE, 59); cal.set(Calendar.SECOND, 59); cal.set(Calendar.MILLISECOND, 999); cal.add(Calendar.DATE, -1); Date date=cal.getTime(); return date.getTime(); } /** * 根据long返回year * @param milliseconds * @return */ public static Object[] theYearOfTime(long milliseconds){ Calendar cal = Calendar.getInstance(); Date date=cal.getTime(); int thisYear=date.getYear()+1900; cal.setTimeInMillis(milliseconds); date=cal.getTime(); int regirsterYear=date.getYear()+1900; if(regirsterYear<thisYear){ List<Integer> yearL=new ArrayList<Integer>(); for(int i=regirsterYear;i<=thisYear;i++){ yearL.add(i); } return yearL.toArray(); }else{ return new Object[]{thisYear}; } } /** * 功能:获取本年的开始时间 */ public static long startOfTheYear(int year) {// 当周开始时间 Calendar currentDate = Calendar.getInstance(); currentDate.set(Calendar.YEAR, year); currentDate.set(Calendar.MONTH, 0); currentDate.set(Calendar.HOUR_OF_DAY, 0); currentDate.set(Calendar.MINUTE, 0); currentDate.set(Calendar.SECOND, 0); currentDate.set(Calendar.MILLISECOND, 0); currentDate.set(Calendar.DAY_OF_MONTH, 1); Date date=currentDate.getTime(); return date.getTime(); } /** * 功能:获取本年的开始时间 */ public static long endOfTheYear(int year) { Calendar cal = Calendar.getInstance(); cal.set(Calendar.YEAR, year); cal.set(Calendar.MONTH,11); cal.set(Calendar.DAY_OF_MONTH, 31); cal.set(Calendar.HOUR_OF_DAY, 23); cal.set(Calendar.MINUTE, 59); cal.set(Calendar.SECOND, 59); cal.set(Calendar.MILLISECOND, 999); Date date=cal.getTime(); return date.getTime(); } }