private static final long ONE_MINUTE = 60; private static final long ONE_HOUR = 3600; private static final long ONE_DAY = 86400; private static final long ONE_WEEK = 604800; private static final long ONE_MONTH = 2592000; private static final long ONE_QUARTER = 7776000; private static final long ONE_YEAR = 31104000; /** * 获取当前年份 * @return */ public static String getYear() { Calendar calendar = Calendar.getInstance(); return calendar.get(Calendar.YEAR) + ""; } /** * 获取当前月份 * @return */ public static String getMonth() { Calendar calendar = Calendar.getInstance(); int month = calendar.get(Calendar.MONTH) + 1; return month + ""; } /** * 获取当前日子 * @return */ public static String getDay() { Calendar calendar = Calendar.getInstance(); return calendar.get(Calendar.DATE) + ""; } /** * 获取当前小时 * * @return */ public static String get24Hour() { Calendar calendar = Calendar.getInstance(); return calendar.get(Calendar.HOUR_OF_DAY)+""; } /** * 获取当前分钟 * @return */ public static String getMinute() { Calendar calendar = Calendar.getInstance(); return calendar.get(Calendar.MINUTE) + ""; } /** * 获取当前秒数 * @return */ public static String getSecond() { Calendar calendar = Calendar.getInstance(); return calendar.get(Calendar.SECOND) + ""; } /** * 获取当前日期 * @return */ public static String getDate() { return getYear() + "-" + getMonth() + "-" + getDay(); } /** * 获取 * @return */ public static String getString() { return getYear()+ getMonth() + getDay()+get24Hour()+getMinute()+getSecond(); } /** * 获取今天的日期(自定义格式化) * @param format * @return */ public static String getDate(String format) { Calendar calendar = Calendar.getInstance(); SimpleDateFormat simple = new SimpleDateFormat(format); String date = simple.format(calendar.getTime()); if("MM".equals(format)){ return String.valueOf(Integer.valueOf(date)); } if("dd".equals(format)){ return String.valueOf(Integer.valueOf(date)); } return date; } /** * 获取日期(自定义格式化) * @param date * @param format * @return * @throws ParseException */ public static String getDate(String date,String format){ SimpleDateFormat simple = null; String d=""; Date sdate; try { if(date.length()==6||date.length()==7){ simple = new SimpleDateFormat("yyyy-MM"); }else{ simple = new SimpleDateFormat("yyyy-MM-dd"); } SimpleDateFormat simple2 = new SimpleDateFormat(format); sdate = simple.parse(date); d = simple2.format(sdate); if("MM".equals(format)){ return String.valueOf(Integer.valueOf(d)); } if("dd".equals(format)){ return String.valueOf(Integer.valueOf(d)); } } catch (ParseException e) { e.printStackTrace(); } return d; } /** * 日期间隔(相对) * @param type * @param d1 * @param d2 * @param format * @return * @throws ParseException */ public static String dayfromDay(String type,String d1,String d2,String format) throws ParseException{ SimpleDateFormat simple = new SimpleDateFormat(format); Date date1 = simple.parse(d1); Date date2 = simple.parse(d2); long t1 = date1.getTime()/1000; long t2 = date2.getTime()/1000; long remain = t2-t1; long minute = remain/ONE_MINUTE; long hour = remain/ONE_HOUR; long day = remain/ONE_DAY; if("year".equals(type)) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date1); int time = calendar.get(Calendar.YEAR); calendar.setTime(date2); return String.valueOf(calendar.get(Calendar.YEAR)-time); } if("quarter".equals(type)) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date1); int time = calendar.get(Calendar.YEAR) * 4; calendar.setTime(date2); time -= calendar.get(Calendar.YEAR) * 4; calendar.setTime(date1); time += calendar.get(Calendar.MONTH) / 4; calendar.setTime(date2); return String.valueOf(calendar.get(Calendar.MONTH)-time / 4); } if("month".equals(type)) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date1); int time = calendar.get(Calendar.YEAR) * 12; calendar.setTime(date2); time -= calendar.get(Calendar.YEAR) * 12; calendar.setTime(date1); time += calendar.get(Calendar.MONTH); calendar.setTime(date2); return String.valueOf(calendar.get(Calendar.MONTH)-time); } if ("week".equals(type)) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date1); int time = calendar.get(Calendar.YEAR) * 52; calendar.setTime(date2); time -= calendar.get(Calendar.YEAR) * 52; calendar.setTime(date1); time += calendar.get(Calendar.WEEK_OF_YEAR); calendar.setTime(date2); return String.valueOf(calendar.get(Calendar.WEEK_OF_YEAR)-time); } if("day".equals(type)){ return ""+day; } if("hour".equals(type)){ return ""+hour; } if("minute".equals(type)){ return ""+minute; } return ""; } /** * 日期间隔(绝对时间) * @param type * @param date1 * @param date2 * @param format * @return * @throws ParseException */ public static String daytoDay(String type,String date1,String date2,String format) throws ParseException{ SimpleDateFormat simple = new SimpleDateFormat(format); Date d1 = simple.parse(date1); Date d2 = simple.parse(date2); long t1 = d1.getTime()/1000; long t2 = d2.getTime()/1000; long remain = t2-t1; long minute = remain/ONE_MINUTE; long hour = remain/ONE_HOUR; long day = remain/ONE_DAY; long week = remain/ONE_WEEK; long month = remain/ONE_MONTH; long quarter = remain/ONE_QUARTER; long year = remain/ONE_YEAR; if("minute".equals(type)){ return ""+minute; } if("hour".equals(type)){ return ""+hour; } if("day".equals(type)){ return ""+day; } if("week".equals(type)){ return ""+week; } if("month".equals(type)){ return ""+month; } if("quarter".equals(type)){ return ""+quarter; } if("year".equals(type)){ return ""+year; } return ""; } /** * 日期间隔(相对) * @param type * @param date1 * @param date2 * @return * @throws ParseException */ public static String datediff(String type,Date date1,Date date2) throws ParseException{ long t1 = date1.getTime()/1000; long t2 = date2.getTime()/1000; long remain = t2-t1; long minute = remain/ONE_MINUTE; long hour = remain/ONE_HOUR; long day = remain/ONE_DAY; if("year".equals(type)) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date1); int time = calendar.get(Calendar.YEAR); calendar.setTime(date2); return String.valueOf(calendar.get(Calendar.YEAR)-time); } if("quarter".equals(type)) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date1); int time = calendar.get(Calendar.YEAR) * 4; calendar.setTime(date2); time -= calendar.get(Calendar.YEAR) * 4; calendar.setTime(date1); time += calendar.get(Calendar.MONTH) / 4; calendar.setTime(date2); return String.valueOf(calendar.get(Calendar.MONTH)-time / 4); } if("month".equals(type)) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date1); int time = calendar.get(Calendar.YEAR) * 12; calendar.setTime(date2); time -= calendar.get(Calendar.YEAR) * 12; calendar.setTime(date1); time += calendar.get(Calendar.MONTH); calendar.setTime(date2); return String.valueOf(calendar.get(Calendar.MONTH)-time); } if ("week".equals(type)) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date1); int time = calendar.get(Calendar.YEAR) * 52; calendar.setTime(date2); time -= calendar.get(Calendar.YEAR) * 52; calendar.setTime(date1); time += calendar.get(Calendar.WEEK_OF_YEAR); calendar.setTime(date2); return String.valueOf(calendar.get(Calendar.WEEK_OF_YEAR)-time); } if("day".equals(type)){ return ""+day; } if("hour".equals(type)){ return ""+hour; } if("minute".equals(type)){ return ""+minute; } return ""; } /** * 自定义时间相加 * @return */ public static Date dateAdd(String type,int amount, Date date){ Calendar calendar = Calendar.getInstance(); calendar.setTime(date); if("minute".equals(type)){ calendar.add(Calendar.MINUTE, amount); } if("hour".equals(type)){ calendar.add(Calendar.HOUR, amount); } if("day".equals(type)){ calendar.add(Calendar.DATE, amount); } if("month".equals(type)){ calendar.add(Calendar.MONTH, amount); } if("year".equals(type)){ calendar.add(Calendar.YEAR, amount); } return calendar.getTime(); }/** * 将字符串转换成日期类型 * @param format * @param sdate * @return * @throws ParseException */ public static Date stringToDate(String format,String sdate){ Date date = new Date(); SimpleDateFormat dateformat = new SimpleDateFormat(format); try { date = dateformat.parse(sdate); } catch (ParseException e) { e.printStackTrace(); } return date; } /** * 将日期类型转换成字符串类型 * @param format * @param sdate * @return */ public static String dateToString(String format,Date sdate){ SimpleDateFormat simple = new SimpleDateFormat(format); String date = simple.format(sdate); return date; } /** * 时间戳转Date * @param timeStamp * @return */ public static Date timeStampToDate(String timeStamp) { try { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Long time = new Long(timeStamp); String d = format.format(time); Date date; date = format.parse(d); return date; } catch (ParseException e) { e.printStackTrace(); } return null; } /** * Date转时间戳 * @param date * @return */ public static Long dateToTimeStamp(Date date){ return date.getTime(); }
private final static SimpleDateFormat sdfYear = new SimpleDateFormat("yyyy"); private final static SimpleDateFormat sdfDay = new SimpleDateFormat("yyyy-MM-dd"); private final static SimpleDateFormat sdfDays = new SimpleDateFormat("yyyyMMdd"); private final static SimpleDateFormat sdfTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); private final static SimpleDateFormat sdfTimes = new SimpleDateFormat("yyyyMMddHHmmss"); /** * 获取YYYY格式 * @return */ public static String getYear() { return sdfYear.format(new Date()); } /** * 获取YYYY-MM-DD格式 * @return */ public static String getDay() { return sdfDay.format(new Date()); } /** * 获取YYYYMMDD格式 * @return */ public static String getDays(){ return sdfDays.format(new Date()); } /** * 获取YYYY-MM-DD HH:mm:ss格式 * @return */ public static String getTime() { return sdfTime.format(new Date()); } /** * 获取某年第一天日期 * @param year 年份 * @return Date */ public static Date getCurrYearFirst(int year){ Calendar calendar = Calendar.getInstance(); calendar.clear(); calendar.set(Calendar.YEAR, year); Date currYearFirst = calendar.getTime(); return currYearFirst; } /** * 获取某年最后一天日期 * @param year 年份 * @return Date */ public static Date getCurrYearLast(int year){ Calendar calendar = Calendar.getInstance(); calendar.clear(); calendar.set(Calendar.YEAR, year); alendar.roll(Calendar.DAY_OF_YEAR, -1); Date currYearLast = calendar.getTime(); return currYearLast; } public static Map<String,Date> getCurrentYearRegion(){ Calendar calendar = Calendar.getInstance(); Map<String,Date> region = new HashMap<>(); region.put("begin", getCurrYearFirst(calendar.get(Calendar.YEAR))); region.put("end", getCurrYearLast(calendar.get(Calendar.YEAR))); return region; } /** * 获取YYYYMMDDHHmmss格式 * @return */ public static String getTimes() { return sdfTimes.format(new Date()); } /** * 得到n天之后的日期 * @param days * @return */ public static String getAfterDayDate(String days) { int daysInt = Integer.parseInt(days); Calendar canlendar = Calendar.getInstance(); // java.util包 canlendar.add(Calendar.DATE, daysInt); // 日期减 如果不够减会将月变动 Date date = canlendar.getTime(); SimpleDateFormat sdfd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateStr = sdfd.format(date); return dateStr; } /** * 得到n天之后是周几 * @param days * @return */ public static String getAfterDayWeek(String days) { int daysInt = Integer.parseInt(days); Calendar canlendar = Calendar.getInstance(); // java.util包 canlendar.add(Calendar.DATE, daysInt); // 日期减 如果不够减会将月变动 Date date = canlendar.getTime(); SimpleDateFormat sdf = new SimpleDateFormat("E"); String dateStr = sdf.format(date); return dateStr; }