- 本类主要是用来作为时间的类型转换,主要是Date和String互转,具体看代码注释,实在不行自己加demo,实现!
- 天天向上!
/** * 日期处理 */ public class DateUtil extends DateUtils { public static final String DATEFORMAT_ALL = "yyyy-MM-dd HH:mm:ss"; public static final String DATEFORMAT_ALL_SPRIT = "yyyy/MM/dd HH:mm:ss"; public static final String DATEFORMAT_DATE = "yyyy-MM-dd"; public static final String DATEFORMAT_TIME = "HH:mm:ss"; public static final String DATEFORMAT_NO_SEC = "yyyy-MM-dd HH:mm"; public static final String DATAFORMAT_DATE_PART = "yyyy-MM-dd HH:00:00"; /** * 当前时间 包含时分秒 */ public static Date getCurTime() { return new java.sql.Timestamp(Calendar.getInstance().getTime().getTime()); } /** * 当前时间 不包含时分秒 */ public static Date getCurDate() { 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); return calendar.getTime(); } /** * 字符串日期时间按指定格式转换 * * @param strDateTime 字符串时间 * @param type 时间格式 */ public static Date stringToDate(String strDateTime, String type) throws Exception { if (StringUtils.isEmpty(strDateTime)) { return new Date(); } SimpleDateFormat dateFormat = new SimpleDateFormat(type); return dateFormat.parse(strDateTime); } /** * 字符串日期时间按指定格式转换 * * @param strDateTime 字符串时间 */ public static Date stringToDate(String strDateTime) throws Exception { return stringToDate(strDateTime, DATEFORMAT_DATE); } /** * 字符串转成日期 * * @param strDate 字符串日期 */ public static Date stringTimeToDate(String strDate) throws Exception { Date date = stringToDateTime(strDate); Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.set(Calendar.HOUR_OF_DAY, 0); calendar.set(Calendar.MINUTE, 0); calendar.set(Calendar.SECOND, 0); calendar.set(Calendar.MILLISECOND, 0); return calendar.getTime(); } /** * 字符串日期转Date类型 * @param strTime 字符串时间(输入格式:yyyy-MM-dd HH:mm:ss) */ public static Date stringToDateTime(String strTime) { try { return stringToDate(strTime, DATEFORMAT_ALL); } catch (Exception e) { try { return stringToDate(strTime, DATEFORMAT_ALL_SPRIT); } catch (Exception e1) { return new Date(); } } } /** * 获取字符串日期时间 * * @param date 时间对象 * @param type 时间格式 */ public static String dateToString(Date date, String type) { if (date == null) { return ""; } else { SimpleDateFormat dateFormat = new SimpleDateFormat(type); return dateFormat.format(date); } } /** * 获取字符串日期时间 * * @param date 时间对象 */ public static String dateToString(Date date) { return dateToString(date, DATEFORMAT_DATE); } /** * 获取字符串日期时间(输出格式:yyyy-MM-dd HH:mm:ss) * @param date 时间对象 */ public static String datetimeToString(Date date) { return dateToString(date, DATEFORMAT_ALL); } /** * 获取字符串日期时间 yyyy-MM-dd HH:00:00 * * @param date 时间对象 * @return */ public static String partDatetimeToString(Date date) { return dateToString(date,DATAFORMAT_DATE_PART); } public static Date getDate(String dateString) throws Exception { if (StringUtils.isNotEmpty(dateString)){ return getDate(dateString, DATEFORMAT_ALL); } else { return null; } } public static Date getDate(String dateString, String dateformat) throws Exception { SimpleDateFormat format = new SimpleDateFormat(dateformat); return format.parse(dateString); } /** * 将传入时间加上指定年月日 * @param date * @param year * @param month * @param day * @return */ public static Date getPlusDate(Date date, int year, int month, int day){ Calendar calendar = Calendar.getInstance(); if(date != null){ calendar.setTime(date); } calendar.add(Calendar.YEAR, year); calendar.add(Calendar.MONTH, month); calendar.add(Calendar.DAY_OF_MONTH, day); return calendar.getTime(); } /** * 将传入时间加上指定时分秒 * @param date * @param hour * @param minute * @param second * @return */ public static Date getPlusDate2(Date date, int hour, int minute, int second){ Calendar calendar = Calendar.getInstance(); if(date != null){ calendar.setTime(date); } calendar.add(Calendar.HOUR_OF_DAY, hour); calendar.add(Calendar.MINUTE, minute); calendar.add(Calendar.SECOND, second); return calendar.getTime(); } /** * 将传入的日期设定指定时间点 * @param date * @param hour * @param minute * @param second * @return */ public static Date getSpecDate(Date date, int hour, int minute, int second){ Calendar calendar = Calendar.getInstance(); if(date != null){ calendar.setTime(date); } calendar.set(Calendar.HOUR_OF_DAY, hour); calendar.set(Calendar.MINUTE, minute); calendar.set(Calendar.SECOND, second); return calendar.getTime(); } /** * 获取当前系统时间, 时间格式为:yyyy-MM-dd HH:00:00 * @return */ public static String getNowTime() { Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.MINUTE, 0); calendar.set(Calendar.SECOND, 0); calendar.set(Calendar.MILLISECOND, 0); return dateToString(calendar.getTime(),DATAFORMAT_DATE_PART); } /** * 获取当前系统时间的上一个小时,时间格式为:yyyy-MM-dd HH:00:00 * @return */ public static String getNowUpTime() { Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.HOUR,-1); calendar.set(Calendar.MINUTE, 0); calendar.set(Calendar.SECOND, 0); calendar.set(Calendar.MILLISECOND, 0); return dateToString(calendar.getTime(),DATAFORMAT_DATE_PART); } }
时间工具类
最新推荐文章于 2024-03-01 14:20:23 发布