六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 39|回复: 0

日期工具类

[复制链接]

升级  59.33%

39

主题

39

主题

39

主题

秀才

Rank: 2

积分
139
 楼主| 发表于 2013-2-1 11:21:02 | 显示全部楼层 |阅读模式
1.import java.sql.Timestamp;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;/** * @author cui 2004-12-21 Table-TableManagementData */public class DateUtil {public final static String ORACLE_DATE_PATTERN = "YYYY-MM-DD HH24MISS";public final static String DEFAULT_DATE_PATTERN = "yyyy-MM-dd HHmmss";public final static String FULL_DATE_PATTERN = "yyyy-MM-dd HH:mm:ss";public final static String LONG_DATE_PATTERN = "yyyy-MM-dd HH:mm:ss:SSS";public final static String SHORT_DATE_PATTERN = "yyyy-MM-dd";public final static String DATE_PATTERN = "yyyyMMddHHmmss";private final static Log logger = LogFactory.getLog(DateUtil.class);/** *  */public DateUtil() {}/** * 返回日期中的年份 * @author cui  * @date Jun 26, 2009 * @param date 日期参数 * @param strFormat 格式串 * @return  */public static int getInt(Date date, String strFormat) {Calendar c = Calendar.getInstance();c.setTime(date);return c.get(Calendar.YEAR);}/** * 返回给定日期的格式化串 * @author cui  * @date Jun 26, 2009 * @param timeStamp 时间对像 * @return 返回格式为yyyy年MM月dd日 HH时mm分ss秒 */public static String getFormatDate(Timestamp timeStamp) {String strRet = null;if (timeStamp == null)return strRet = " ";SimpleDateFormat simple = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");if (simple != null)strRet = simple.format(timeStamp);return strRet;}/** * 返回给定日期的格式化串 * @author cui   * @date Jun 26, 2009 * @param date 日期对像 * @return 返回yyyy年MM月dd日 HH时mm分ss秒 */public static String getFormatDate(java.sql.Date date) {String strRet = null;if (date == null) {return strRet = " ";}SimpleDateFormat simple = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");if (simple != null)strRet = simple.format(date);return strRet;}/** * 返回当日日期的格式化串,格式为format * @author cui  * @date Jun 26, 2009 * @param format 格式化串 * @return 返回被格式化的当日日期 */public static String getTodayDate(String format) {String strRet = null;SimpleDateFormat simple = new SimpleDateFormat(format);if (simple != null)strRet = simple.format(new Date());return strRet;}/** * 返回当日日期的格式化串 * @author cui * @date Jun 26, 2009 * @return 格式为yyyy-MM-dd */public static String getTodayDay() {String strRet = null;SimpleDateFormat simple = new SimpleDateFormat(SHORT_DATE_PATTERN);if (simple != null)strRet = simple.format(new Date());return strRet;}/** * 返回昨日日期的格式化串 * @author cui * @date Jun 26, 2009 * @return 格式为yyyy-MM-dd */public static String getYesterDay() {String strRet = null;SimpleDateFormat simple = new SimpleDateFormat(SHORT_DATE_PATTERN);if (simple != null)strRet = simple.format(addDateByDay(new Date(), -1));return strRet;}/** * 返回给定日期的格式化串 * @author cui  * @date Jun 26, 2009 * @param date 日期参数 * @return 格式为yyyy-MM-dd */public static String getDayByDate(Date date) {String strRet = null;SimpleDateFormat simple = new SimpleDateFormat(SHORT_DATE_PATTERN);if (simple != null)strRet = simple.format(date);return strRet;}/** * 格式化日期,去掉日期中的时间 * @author cui  * @date Jun 26, 2009 * @param date 日期参数 * @return 返回忽略日期中的时间部分的日期 */public static Date getDay(java.util.Date date) {String strDate = getFormatDate(date, SHORT_DATE_PATTERN);if (!StringUtil.isEmpty(strDate)) {return getDate(strDate, SHORT_DATE_PATTERN);}return null;}/** * 获取给定日期的格式化串 * @author cui  * @date Jun 26, 2009 * @param date 日期参数 * @param strFormat 格式化串 * @return 返回被格式化的日期串,如果日期参数为空返回  */public static String getFormatDate(java.sql.Date date, String strFormat) {String strRet = null;if (date == null) {return strRet = " ";}SimpleDateFormat simple = new SimpleDateFormat(strFormat);if (simple != null)strRet = simple.format(date);return strRet;}/** * 对给定日期按格式strFormat进行格式化串处理,并将处理结果按格式toFromat转为日期(如把日期格式化为串yyyy-MM-dd 23:59:59,再接着把串变为日期) * @author cui * @date Jun 26, 2009 * @param date 日期参数 * @param strFormat 日期格式化串 * @param toFromat 日期格式化串 * @return 格式化好的日期 */public static Date getDate(Date date, String strFormat, String toFromat) {String strRet = null;Date rtnDate = null;SimpleDateFormat simple = new SimpleDateFormat(strFormat);if (simple != null) {strRet = simple.format(date);}simple = new SimpleDateFormat(toFromat);if (simple != null) {try {rtnDate = simple.parse(strRet);} catch (ParseException e) {}}return rtnDate;}/** * 获取某个日期(格式必须为yyyy-MM-dd)的起始时间(时间精确到00:00:00) * @author cui * @date Jun 26, 2009 * @param date 日期串,格式为yyyy-MM-dd * @return 起始日期 */public static Date getBeginDate(String date) {if (date!=null && !"".equals(date)) {String beginDate = date + " 00:00:00";return DateUtil.getDate(beginDate, FULL_DATE_PATTERN);}return null;}/** * 获取某个日期的结束时间(时间精确到23:59:59:999)  * @author cui  * @date Jun 26, 2009 * @param date 日期串,格式为yyyy-MM-dd * @return 结束时间 */public static Date getEndDate(String date) {if (date!=null && !"".equals(date)) {String beginDate = date + " 23:59:59:999"; return DateUtil.getDate(beginDate, LONG_DATE_PATTERN);}return null;}/** * 返回当天的起始时间 * @author cui * @date Jun 26, 2009 * @return */public static Date getStartCurrentDay() {String date = getFormatDate(new Date(), "yyyy-MM-dd 00:00:00");return getDate(date, "yyyy-MM-dd HH:mm:ss");}/** * 返回当天的结束时间 * @author cui * @date Jun 26, 2009 * @return */public static Date getEndCurrentDay() {String date = getFormatDate(new Date(), "yyyy-MM-dd 23:59:59:999");return getDate(date, "yyyy-MM-dd HH:mm:ss:SSS");}/** * 获取某个日期累加指定天数后的起始时间 * @author cui  * @date Jun 26, 2009 * @param day 日期参数 * @param i 累加天数 * @return 起始时间 */public static Date getStartDay(Date day, int i) {String date = getFormatDate(addDateByDay(day, i), "yyyy-MM-dd 00:00:00");return getDate(date, "yyyy-MM-dd HH:mm:ss");}/** * 获取某个日期累加指定天数后的结束时间 * @author cui * @date Jun 26, 2009 * @param day 日期参数 * @param i 累加天数 * @return 结束时间 */public static Date getEndDay(Date day, int i) {String date = getFormatDate(addDateByDay(day, i), "yyyy-MM-dd 23:59:59:999");return getDate(date, "yyyy-MM-dd HH:mm:ss:SSS");}/** * 获取明日的起始时间 * @author cui  * @date Jun 26, 2009 * @return 起始时间 */public static Date getStartNextDay() {String date = getFormatDate(addDateByDay(new Date(), 1), "yyyy-MM-dd 00:00:00");return getDate(date, "yyyy-MM-dd HH:mm:ss");}/** * 获取本周的第一天 * @author cui * @date Jun 26, 2009 * @return 本周的第一天 */public static Date getWeekFirstDay() {Calendar c = Calendar.getInstance();c.setTime(DateUtil.getDay(c.getTime()));c.set(Calendar.DAY_OF_WEEK, 1);return c.getTime();}/** * 获取当前日期累加指定天数后的起始时间 * @author cui  * @date Jun 26, 2009 * @param i 累加天数 * @return */public static Date getNextDay(int i) {String date = getFormatDate(addDateByDay(new Date(), i), "yyyy-MM-dd 00:00:00");return getDate(date, "yyyy-MM-dd HH:mm:ss");}/** * 获取当前日期累加指定天数的格式化时间(例:可以直接获取明天的12:30:00的时间) * @author cui  * @date Jun 26, 2009 * @param i 累加天数 * @param strFormat 格式化串(如yyyy-MM-dd 12:30:00) * @return 时间 */public static Date getNextDay(int i, String strFormat) {String date = getFormatDate(addDateByDay(new Date(), i), strFormat);return getDate(date, "yyyy-MM-dd HH:mm:ss");}/** * 获取某个日期某个格式化的时间(例:可以获取某个日期的12:30:00的时间) * @author cui  * @date Jun 26, 2009 * @param cdate 日期参数 * @param strFormat 格式化串(如yyyy-MM-dd 12:30:00) * @return 时间 */public static Date getDate(Date cdate, String strFormat) {String date = getFormatDate(cdate, strFormat);return getDate(date, "yyyy-MM-dd HH:mm:ss");}/** * 返回某个日期的格式化串 * @author cui  * @date Jun 26, 2009 * @param date 日期参数 * @param strFormat 格式化串 * @return 格式化串(如果参数为空返回空串) */public static String getFormatDate(Date date, String strFormat) {String strRet = null;if (date == null) {return strRet = "";}SimpleDateFormat simple = new SimpleDateFormat(strFormat);if (simple != null)strRet = simple.format(date);return strRet;}/** * 返回某个时间的格式化串 * @author cui  * @date Jun 26, 2009 * @param timeStamp 时间参数 * @param strFormat 格式化串 * @return 格式化串(如果参数为空返回 ) */public static String getFormatDate(Timestamp timeStamp, String strFormat) {String strRet = null;if (timeStamp == null)return strRet = " ";try {SimpleDateFormat simple = new SimpleDateFormat(strFormat);if (simple != null) {strRet = simple.format(timeStamp);}} catch (Exception e) {logger.error("Formate Date Error" + e.getMessage(), e);}return strRet;}/** * 返回当天的年月日串 * @author cui  * @date Jun 26, 2009 * @return 返回格式化串(yyMMdd) */public static String yyMMdd() {SimpleDateFormat simple = new SimpleDateFormat("yyMMdd");Date date = new Date();return simple.format(date);}/** * 返回当天的年月串 * @author cui  * @date Jun 26, 2009 * @return 返回格式化串(yyMM) */public static String yyMM() {SimpleDateFormat simple = new SimpleDateFormat("yyMM");Date date = new Date();return simple.format(date);}/** * 是否同一个月 * @param date1 * @param date2 * @return */public static boolean isSameMonth(Date date1, Date date2) {if (date1 == null || date2 == null) {return false;}Calendar c = Calendar.getInstance();int m1, m2;c.setTime(date1);m1 = c.get(Calendar.MONTH);c.setTime(date2);m2 = c.get(Calendar.MONTH);return m1 == m2;}/** * 是否同一个小时 * @param date1 * @param date2 * @return */public static boolean isSameHour(Date date1, Date date2) {if (date1 == null || date2 == null) {return false;}Calendar c = Calendar.getInstance();int m1, m2;c.setTime(date1);m1 = c.get(Calendar.HOUR_OF_DAY);c.setTime(date2);m2 = c.get(Calendar.HOUR_OF_DAY);return m1 == m2;}/** * 是否同一天 * @param date1 * @param date2 * @return */public static boolean isSameDay(Date date1, Date date2) {if (date1 == null || date2 == null) {return false;}String str1 = DateUtil.getDayByDate(date1);String str2 = DateUtil.getDayByDate(date2);return str1.equals(str2);}/** * 获取下月的每一天 * @author cui * @date Jun 26, 2009 * @return 日期 */public static Date getNextMonthDay() {Calendar c = Calendar.getInstance();c.add(Calendar.MONTH, 1);c.set(Calendar.DAY_OF_MONTH, 1);return c.getTime();}/** * 获取上月的第一天起始时间 * @author cui  * @date Jun 26, 2009 * @return 日期 */public static Date getPreviousMonthFirstDay() {Calendar c = Calendar.getInstance();c.set(Calendar.HOUR_OF_DAY, 0);c.set(Calendar.MINUTE, 0);c.set(Calendar.SECOND, 0);c.set(Calendar.MILLISECOND, 0);c.add(Calendar.MONTH, -1);c.set(Calendar.DAY_OF_MONTH, 1);return c.getTime();}/** * 获取上月第一天的结束时间 * @author cui  * @date Jun 26, 2009 * @return */public static Date getPreviousMonthLastDay() {Calendar cl = Calendar.getInstance();cl.set(Calendar.DAY_OF_MONTH, 0);cl.set(Calendar.HOUR_OF_DAY, 23);cl.set(Calendar.MINUTE, 59);cl.set(Calendar.SECOND, 59);return cl.getTime();}/** * 获取本月的第一天 * @author cui  * @date Jun 26, 2009 * @return */public static Date getDateByCurrentMonth() {Calendar c = Calendar.getInstance();c.setTime(DateUtil.getDay(c.getTime()));c.set(Calendar.DAY_OF_MONTH, 1);return c.getTime();}/** * 获取指定日期当月的每一天日期 * @author cui * @date Jun 26, 2009 * @param currentDate * @return */public static Date getNextMonthDay(Date currentDate) {Calendar c = Calendar.getInstance();c.setTime(currentDate);c.add(Calendar.MONTH, 1);c.set(Calendar.DAY_OF_MONTH, 1);return c.getTime();}/** * 日期是否是当前月 * @author cui  * @date Jun 26, 2009 * @param date * @return */public static boolean isCurrentMonth(Date date) {if (date == null) {return false;}Calendar c = Calendar.getInstance();int m1 = c.get(Calendar.MONTH);c.setTime(date);int m2 = c.get(Calendar.MONTH);return m1 == m2;}/** * 获取当天是周的第几天减1 * @author cui  * @date Jun 26, 2009 * @return */public static int getWeekDay() {int weekday;Calendar tmp = Calendar.getInstance();weekday = tmp.get(Calendar.DAY_OF_WEEK) - 1;return weekday;}/** * 获取当前日期是星期几的文字描述 * @author cui  * @date Jun 26, 2009 * @return */public static String getWeekText() {String txt = "星期";int weekday;Calendar tmp = Calendar.getInstance();weekday = tmp.get(Calendar.DAY_OF_WEEK) - 1;switch (weekday) {case 1:txt += "一";break;case 2:txt += "二";break;case 3:txt += "三";break;case 4:txt += "四";break;case 5:txt += "五";break;case 6:txt += "六";break;case 0:txt += "日";break;}return txt;}/** * 获取格式化日期 * @author cui  * @date Jun 26, 2009 * @param time * @param 格式化串 * @return */public static Date getDate(String time, String strFormat) {Date date = null;if (time == null || time.equals("")) {return date = null;}time = StringUtil.dealNull(time);try {SimpleDateFormat simple = new SimpleDateFormat(strFormat);date = simple.parse(time);} catch (Exception e) {logger.error("Get Date Error!" + e.getMessage(), e);}return date;}/** * 更新日期的日分秒 * @author cui * @date Jun 26, 2009 * @param date 日期参数 * @param hh 小时 * @param mm 分数 * @param ss 秒 * @return */public static Date getDate(Date date, int hh, int mm, int ss) {Calendar cal = Calendar.getInstance();cal.setTime(date);cal.set(Calendar.HOUR_OF_DAY, hh);cal.set(Calendar.MINUTE, mm);cal.set(Calendar.SECOND, ss);return cal.getTime();}/** * 给日期累加指定天数并返回累加后的日期 * @author cui * @date Jun 26, 2009 * @param date 日期参数 * @param day 累加天数 * @return 返回累加后的日期 */public static Date absoluteDate(Date date, int day) {if (date == null) {return new Date();}Calendar cal = Calendar.getInstance();cal.setTime(date);cal.add(Calendar.DAY_OF_YEAR, day);return cal.getTime();}/** *  给当天日期累加指定天数并返回累加后的日期 * @author cui  * @date Jun 26, 2009 * @param day 累加天数 * @return 返回累加后的日期 */public static Date absoluteDate(int day) {Calendar cal = Calendar.getInstance();cal.setTime(new Date());cal.add(Calendar.DAY_OF_YEAR, day);return cal.getTime();}/** * 把串转为日期 * @author 作者  * @date Jun 26, 2009 * @param time 日期串 * @param strFormat 格式化串 * @return 时间 */public static Timestamp getTimestampDate(String time, String strFormat) {Timestamp tsmp = null;if (time == null) {return tsmp = null;}time = StringUtil.dealNull(time);try {SimpleDateFormat simple = new SimpleDateFormat(strFormat);java.util.Date date = simple.parse(time);tsmp = new Timestamp(date.getTime());} catch (Exception e) {logger.error("Get Timestamp Error!" + e.getMessage(), e);}return tsmp;}/** * 给日期累加指定天数并返回累加后的日期 * @author cui  * @date Jun 26, 2009 * @param time 日期参数 * @param add_day 累加天数 * @return 累加后的日期 */public static Date addDateByDay(Date time, int add_day) {if (time == null) {return new Date();}Calendar cal = Calendar.getInstance();cal.setTime(time);cal.add(Calendar.DAY_OF_YEAR, add_day);return cal.getTime();}/** * 给日期累加指定周数并返回累加后的日期 * @author cui  * @date Jun 26, 2009 * @param time 日期参数 * @param add_week 累加周数 * @return 累加后的日期 */public static Date addDateByWeek(Date time, int add_week) {if (time == null) {return new Date();}Calendar cal = Calendar.getInstance();cal.setTime(time);cal.add(Calendar.WEEK_OF_MONTH, add_week);return cal.getTime();}/** * 给日期累加指定天数并返回累加后的日期 * @author cui * @date Jun 26, 2009 * @param time 日期参数 * @param add_day 累加天数 * @return */public static Date addDateByDay(Timestamp time, int add_day) {if (time == null) {return new Date();}Calendar cal = Calendar.getInstance();cal.setTime(time);cal.add(Calendar.DAY_OF_YEAR, add_day);return cal.getTime();}/** * 给日期累加指定天数并返回累加并去掉时分秒后的日期 * @author cui * @date Jun 26, 2009 * @param date 日期参数 * @param add_day 累回天数 * @return */public static Date getRollDay(Date date, int add_day) {return getDay(addDateByDay(date, add_day));}/** * 返回两个日期相差的秒数 * @author cui  * @date Jun 26, 2009 * @param begin  * @param end * @return 相差的秒数 */public static long between(Date begin, Date end) {if (begin == null || end == null) {return 0;}return (end.getTime() - begin.getTime()) / 1000;}/** * 给指定日期累加上指定的月数 * @author cui * @date Jun 26, 2009 * @param time 日期参数 * @param add_month 累加月数 * @return 累加后的日期 */public static Date addDateByMonth(Date time, int add_month) {if (time == null) {return new Date();}Calendar cal = Calendar.getInstance();cal.setTime(time);cal.add(Calendar.MONTH, add_month);return cal.getTime();}/** * 给指定日期累加上指定的小时数 * @author cui  * @date Jun 26, 2009 * @param time 日期参数 * @param add_Hour 累加小时数 * @return 累加后的日期 */public static Date addHourByDay(Date time, int add_Hour) {if (time == null) {return new Date();}Calendar cal = Calendar.getInstance();cal.setTime(time);cal.add(Calendar.HOUR_OF_DAY, add_Hour);return cal.getTime();}/** * 给指定日期累加上指定的分钟数 * @author cui * @date Jun 26, 2009 * @param time 日期参数 * @param add_minute 分钟数 * @return 累加后的日期 */public static Date addHourByMinute(Date time, int add_minute) {if (time == null) {return new Date();}Calendar cal = Calendar.getInstance();cal.setTime(time);cal.add(Calendar.MINUTE, add_minute);return cal.getTime();}/** * 给指定日期累加上指定的秒数 * @author cui  * @date Jun 26, 2009 * @param time 日期参数 * @param add_second 秒数 * @return 累加后的日期 */public static Date addHourBySecond(Date time, int add_second) {if (time == null) {return new Date();}Calendar cal = Calendar.getInstance();cal.setTime(time);cal.add(Calendar.SECOND, add_second);return cal.getTime();}/** * 获取本周一起始时间 * @author cui  * @date Jun 26, 2009 * @return 周一起始时间 */public static Date getThisWeekFirstDay() {Calendar cl = Calendar.getInstance();cl.roll(Calendar.DAY_OF_YEAR, -cl.get(Calendar.DAY_OF_WEEK) + 2);String date = getFormatDate(cl.getTime(), "yyyy-MM-dd 00:00:00");return getDate(date, "yyyy-MM-dd HH:mm:ss");}/** * 获取本周日结束时间 * @author cui * @date Jun 26, 2009 * @return 周日结束时间 */public static Date getThisWeekLastDay() {Calendar cl = Calendar.getInstance();cl.roll(Calendar.DAY_OF_YEAR, -cl.get(Calendar.DAY_OF_WEEK) + 8);String date = getFormatDate(cl.getTime(), "yyyy-MM-dd 23:59:59:999");return getDate(date, "yyyy-MM-dd HH:mm:ss:SSS");}/** * 获取上周一起始时间 * @author cui  * @date Jun 26, 2009 * @return 上周一起始时间 */public static Date getPreviousWeekFirstDay() {Calendar cl = Calendar.getInstance();cl.roll(Calendar.DAY_OF_YEAR, -cl.get(Calendar.DAY_OF_WEEK) - 5);String date = getFormatDate(cl.getTime(), "yyyy-MM-dd 00:00:00");return getDate(date, "yyyy-MM-dd HH:mm:ss");}/** * 获取上周日结束时间 * @author cui * @date Jun 26, 2009 * @return 上周日结束时间 */public static Date getPreviousWeekLastDay() {Calendar cl = Calendar.getInstance();cl.roll(Calendar.DAY_OF_YEAR, -cl.get(Calendar.DAY_OF_WEEK) + 1);String date = getFormatDate(cl.getTime(), "yyyy-MM-dd 23:59:59:999");return getDate(date, "yyyy-MM-dd HH:mm:ss:SSS");}/** * 获取本月第一天的起始时间 * @author cui  * @date Jun 26, 2009 * @return 本月第一天的起始时间 */public static Date getThisMonthFirstDay() {Calendar cl = Calendar.getInstance();cl.set(Calendar.DAY_OF_MONTH, 1);String date = getFormatDate(cl.getTime(), "yyyy-MM-dd 00:00:00");return getDate(date, "yyyy-MM-dd HH:mm:ss");}/** * 获取本月最后一天的起始时间 * @author cui  * @date Jun 26, 2009 * @return 本月最后一天的起始时间 */public static Date getThisMonthLastDay() {Calendar cl = Calendar.getInstance();cl.add(Calendar.MONTH, 1);cl.set(Calendar.DATE, 0);String date = getFormatDate(cl.getTime(), "yyyy-MM-dd 23:59:59:999");return getDate(date, "yyyy-MM-dd HH:mm:ss:SSS");}/** * 获取指定日期当月第一天的起始时间 * @author cui * @date Jun 26, 2009 * @param now 日期参数 * @return 当月第一天的起始时间 */public static Date getMonthFirstDay(Date now) {Calendar cl = Calendar.getInstance();cl.setTime(now);cl.set(Calendar.DAY_OF_MONTH, 1);String date = getFormatDate(cl.getTime(), "yyyy-MM-dd 00:00:00");return getDate(date, "yyyy-MM-dd HH:mm:ss");}/** * 获取指定日期当月最后一天的结束时间 * @author cui  * @date Jun 26, 2009 * @param now 日期参数 * @return 当月最后一天的结束时间 */public static Date getMonthLastDay(Date now) {Calendar cl = Calendar.getInstance();cl.setTime(now);cl.add(Calendar.MONTH, 1);cl.set(Calendar.DATE, 0);String date = getFormatDate(cl.getTime(), "yyyy-MM-dd 23:59:59:999");return getDate(date, "yyyy-MM-dd HH:mm:ss:SSS");}/** * 获取给定年月的最后一天 * @author cui  * @date Jun 26, 2009 * @param year 年份 * @param month 月份 * @return 给定年月的最后一天 */public static int getMonthOfLastDay(int year, int month) {Calendar calendar = Calendar.getInstance();calendar.set(Calendar.YEAR, year);calendar.set(Calendar.MONTH, month - 1);return calendar.getActualMaximum(Calendar.DAY_OF_MONTH);}/** * 获取给定年月的第一天 * @author cui  * @date Jun 26, 2009 * @param year 年份 * @param month 月份 * @return 给定年月的第一天 */public static int getMonthOfFirstDay(int year, int month) {Calendar calendar = Calendar.getInstance();calendar.set(Calendar.YEAR, year);calendar.set(Calendar.MONTH, month - 1);return calendar.getActualMinimum(Calendar.DAY_OF_MONTH);}/** * 判断一个日期是否在两个日期之间 * @author 滕辉 * @param startDate 开始日期 * @param endDate 结束日期 * @param date 指定日期 * @return */public static boolean between(Date startDate, Date endDate, Date date){if(startDate == null && endDate == null){return true;}else if(startDate != null && startDate.getTime() <= date.getTime() && endDate == null){return true;}else if(endDate != null && endDate.getTime() >= date.getTime() && startDate == null){return true;}else if(startDate != null && endDate != null && startDate.getTime() <= date.getTime() && endDate.getTime() >= date.getTime()){return true;}else{return false;}}/** * 获得指定日期的前一天的数据 * @author caoxian  * @param dateStr * @return */public static Date getBeforeToday(String dateStr) {Calendar calendar = Calendar.getInstance();    int day = calendar.get(Calendar.DAY_OF_YEAR);    calendar.set(Calendar.DAY_OF_YEAR, day - 1);    dateStr = getFormatDate(calendar.getTime(), "yyyy-MM-dd 23:59:59:999");    return getDate(dateStr, "yyyy-MM-dd HH:mm:ss");}/** * 获得指定日期的前30天的数据 * @author caoxian  * @param dateStr * @return */public static Date getBeforeThrityTody(String dateStr){Calendar calendar = Calendar.getInstance();    int day = calendar.get(Calendar.DAY_OF_YEAR);    calendar.set(Calendar.DAY_OF_YEAR, day - 30);    dateStr = getFormatDate(calendar.getTime(), "yyyy-MM-dd 00:00:00");    return getDate(dateStr, "yyyy-MM-dd HH:mm:ss");}}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表