日期工具类---DateUtil
2016-10-14 00:00
411 查看
public class DateUtil { /** * 每分钟秒数 */ public static final int MINUTE_OF_SECONDS = 60; /** * 一小时秒数 */ public static final int HOUR_OF_SECONDS = MINUTE_OF_SECONDS * 60; /** * 一天总共秒数 */ public static final int DAY_OF_SECONDS = HOUR_OF_SECONDS * 24; /** * 防重复提交的标识在redis中保存的有效期 */ public static final int PREVENT_REPEAT_COMMIT_VALID_TIME = MINUTE_OF_SECONDS * 10; public static String formatDate(Date date, String format) { SimpleDateFormat df = new SimpleDateFormat(format); return df.format(date); } public static Date parseDate(String date, String format) throws ParseException { SimpleDateFormat df = new SimpleDateFormat(format); return df.parse(date); } public static Date format(Date date, String format) throws ParseException { String formatDateStr = formatDate(date, format); return parseDate(formatDateStr, "yyyy-MM-dd"); } public static Integer getDayNum(Integer day, Integer dayUnit) { return BidConstant.periodDayNum.get(dayUnit) * day; } //获得本月第一天0点时间 public static Date getCurrentMouthOfFirstDayBegin() { Calendar cal = Calendar.getInstance(); cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONDAY), cal.get(Calendar.DAY_OF_MONTH), 0, 0, 0); cal.set(Calendar.DAY_OF_MONTH, cal.getActualMinimum(Calendar.DAY_OF_MONTH)); return cal.getTime(); } //获得本月最后一天24点时间 public static Date getCurrentMouthOfLastDayEnd() { Calendar cal = Calendar.getInstance(); cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONDAY), cal.get(Calendar.DAY_OF_MONTH), 0, 59, 59); cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH)); cal.set(Calendar.HOUR_OF_DAY, 23); return cal.getTime(); } /** * 获取指定日期及间隔时间的一天开始时间 * * @param date 指定日期 * @param days 间隔天数,指定日期之前使用负数,之后的使用正数 * @return */ public static Date getAppointDayBeginTime(Date date, int days) { Calendar c = Calendar.getInstance(); c.setTime(date); c.add(Calendar.DATE, days); c.set(Calendar.HOUR_OF_DAY, 00); c.set(Calendar.MINUTE, 0); c.set(Calendar.SECOND, 0); return c.getTime(); } /** * 获取指定日期及间隔时间的一天结束时间 * * @param date 指定日期 * @param days 间隔天数,指定日期之前使用负数,之后的使用正数 * @return */ public static Date getCurrentBeforeDayOfEndTime(Date date, int days) { Calendar c = Calendar.getInstance(); c.setTime(date); c.add(Calendar.DATE, days); c.set(Calendar.HOUR_OF_DAY, 23); c.set(Calendar.MINUTE, 59); c.set(Calendar.SECOND, 59); return c.getTime(); } public static void main(String[] args) throws ParseException { String format = ThreadSafeDateUtil.format(getCurrentMouthOfFirstDayBegin(), "yyyy-MM-dd HH:mm:ss"); String format1 = ThreadSafeDateUtil.format(getCurrentMouthOfLastDayEnd(), "yyyy-MM-dd HH:mm:ss"); System.out.println(format); System.out.println(format1); Calendar calendar = Calendar.getInstance(); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-M-d H:m:s"); // 指定一个日期 Date date = dateFormat.parse("2013-6-1 13:24:16"); // 对 calendar 设置为 date 所定的日期 calendar.setTime(date); calendar.set(Calendar.HOUR_OF_DAY, 00); calendar.set(Calendar.MINUTE, 0); calendar.set(Calendar.SECOND, 0); System.out.println(calendar.getTime().toLocaleString()); Calendar c2 = new GregorianCalendar(); c2.add(Calendar.DATE, 3); c2.set(Calendar.HOUR_OF_DAY, 23); c2.set(Calendar.MINUTE, 59); c2.set(Calendar.SECOND, 59); System.out.println(c2.getTime().toLocaleString()); } }
相关文章推荐
- java日期工具类DateUtil-续一
- 日期工具类 - DateUtil.java
- 关于日期时间操作工具类DateUtil(二) -----对java.sql.Timestamp 的操作.
- Java 获取固定格式的日期工具类 DateUtil
- java日期工具类DateUtil
- java 日期处理工具类 DateUtil 2
- 【Hutool】Hutool工具类之日期时间工具——DateUtil
- Java中的日期转化格式DateUtil工具类
- java日期工具类DateUtil
- 关于日期时间操作工具类DateUtil(三) -----对系统时间的操作.
- DateUtil日期工具类
- 通用日期格式化工具类DateUtil
- java日期工具类DateUtil
- DateUtil日期工具类
- java DateUtil 日期工具类
- [java]日期工具类-DateUtil
- 日期时间DateUtil-java工具类
- DateUtil,日期工具类
- Android开发中日期工具类DateUtil完整实例
- Java 工具类 - 日期 DateUtil