|  |  |  | 
|---|
|  |  |  | * @createTime 2014.08.30 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public class DateUtil { | 
|---|
|  |  |  | private final static int[] dayArr = new int[] { 20, 19, 21, 20, 21, 22, 23, | 
|---|
|  |  |  | 23, 23, 24, 23, 22 }; | 
|---|
|  |  |  | private final static String[] constellationArr = new String[] { "摩羯座", | 
|---|
|  |  |  | "水瓶座", "双鱼座", "白羊座", "金牛座", "双子座", "巨蟹座", "狮子座", "处女座", "天秤座", | 
|---|
|  |  |  | "天蝎座", "射手座", "摩羯座" }; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public static final String DATE_FORMAT_STS = "yyyy-MM-dd'T'HH:mm:ss"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public static final String DATE_FORMAT_ST = "yyyy-MM-dd'T'HH:mm"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public static final String HH_mm = "HH:mm"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public static final String HHmm = "HHmm"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public static final String MONTH = "yyyy-MM"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public static final String DATE_FORMAT_MONGO = "yyyy-MM-dd'T'HH:mm:ss.SSS"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public static final String DATE_FORMAT_STS = "yyyy-MM-dd'T'HH:mm:ss"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public static final String DATE_FORMAT_MM = "yyyy-MM-dd HH:mm"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public static final String DATE_FORMAT_HH = "yyyy-MM-dd HH"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public static final String DATE_FORMAT_DD = "yyyy-MM-dd"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * Java通过生日计算星座 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param month | 
|---|
|  |  |  | * @param day | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public static String getConstellation(int month, int day) { | 
|---|
|  |  |  | return day < dayArr[month - 1] ? constellationArr[month - 1] | 
|---|
|  |  |  | : constellationArr[month]; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @Title: getNextNMinute  获取date之后N分钟的时间 | 
|---|
|  |  |  | * @Description: TODO | 
|---|
|  |  |  | * @author:罗凯 | 
|---|
|  |  |  | * @param date | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | * Date    返回类型 | 
|---|
|  |  |  | * @date 2016年8月3日 下午2:48:51 | 
|---|
|  |  |  | * @throws | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public static Date getNextNMinute(Date date,int n){ | 
|---|
|  |  |  | return new Date(date.getTime()+(n*60*1000)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 返回月份 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param date | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 获取一个编码 | 
|---|
|  |  |  | * 获取一个当前时间并且加入了四位的随机字母 | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public static String getTimeCode() { | 
|---|
|  |  |  | return dateToString(new Date(), "yyyyMMddssSSS")+StringUtils.getRandomString(4); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 判断给定的日期是一周中的第几天,注意:按照中国的习惯,周日是第七天 | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return currentDate.after(referenceDate); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | public static long getDifTimeMin(Date beginTime,Date endTime){ | 
|---|
|  |  |  | return (endTime.getTime()-beginTime.getTime())/1000/ 60; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | public static List<Date> getFutureDay(Date date, int start,int end){ | 
|---|
|  |  |  | List<Date> dates=new ArrayList<Date>(); | 
|---|
|  |  |  | for (int i = 0; i < end-start; i++) { | 
|---|
|  |  |  | dates.add(DateUtil.nextNDate(date,i)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return dates; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 字符串转日期 如果转换失败就返回一个当前时间date | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param dateStr | 
|---|
|  |  |  | * @param format | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public static Date stringToDateNew(String dateStr, String format) { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (StringUtils.isBlank(dateStr) || StringUtils.isBlank(format)) { | 
|---|
|  |  |  | return new Date(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | DateFormat fmt = new SimpleDateFormat(format); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | return fmt.parse(dateStr); | 
|---|
|  |  |  | } catch (ParseException e) { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return new Date(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 判断currentDate是否在startDate和endDate之间,不包括startDate和endDate | 
|---|
|  |  |  | * | 
|---|