Java开发过程中时间工具类的封装

xiaoxiao2021-02-28  90

package net.zhangji.util; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import net.zhangji.exception.MyException; public class DateUtil { private static String DEFAULT_STR_FORMAT = "yyyyMMddHHmmssSSS"; private static String DEFAULT_DATE_FORMAT = "yyyy-MM-dd HH:mm:ss"; /** * 日期格式化为指定格式字符串 * @param date 时间对象 * @param format 格式 * @return 格式化字符串 */ public static String dateToStr(Date date, String format) { SimpleDateFormat sdf = null; if(null == date)  date = new Date(); if(StringUtil.isEmpty(format, false)) { sdf = new SimpleDateFormat(DEFAULT_STR_FORMAT); return sdf.format(date); } sdf = new SimpleDateFormat(format); return sdf.format(date); } /** * 时间字符串转化为时间对象 * @param dateStr 时间字符串 * @param format 格式 * @return 时间对象 */ public static Date strToDate(String dateStr, String format) { try { if(StringUtil.isEmpty(dateStr, false)) { if(StringUtil.isEmpty(format, false)) format = DEFAULT_DATE_FORMAT; dateStr = dateToStr(new Date(), format); } if(StringUtil.isEmpty(format, false)) format = DEFAULT_DATE_FORMAT; SimpleDateFormat sdf =  new SimpleDateFormat(format); return sdf.parse(dateStr); } catch (ParseException e) { // TODO Auto-generated catch block new MyException("String to Date exception", "date").printStackTrace(); return new Date(); } } /** * 判断baseDate在comDate之前、之后、同一时间 * @param baseDate 目标比较时间 * @param comDate 相比较时间 * @return -1:之前、0:相同、1:之后 */ public static Integer compare(Date baseDate, Date comDate) { Integer flag = null; if(baseDate.getTime() > comDate.getTime()) flag = -1; else if(baseDate.getTime() < comDate.getTime()) flag = 1; else flag = 0; return flag; } }
转载请注明原文地址: https://www.6miu.com/read-77250.html

最新回复(0)