博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
日期处理工具类
阅读量:5903 次
发布时间:2019-06-19

本文共 7904 字,大约阅读时间需要 26 分钟。

hot3.png

  1. 日期工具

package yabushan.DateUtils;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar;import org.apache.log4j.Logger;/** *  * {@link DateUtils} * * TODO : document me * * @author yabushan * @date 2016-1-1 */public abstract class DateUtils{	static Logger logger = Logger.getLogger(DateUtils.class.getName());    public static String YYYY_MM_DD_HH_MM_SS="yyyy-MM-dd HH:mm:ss";    public static void main(String[] args) {		System.out.println(getCurrentDate());//获取当前日期		System.out.println(formatDatatoString(new Date(),1));		System.out.println(formatDatatoString(new Date(),2));		System.out.println(formatDatatoString(new Date(),3));	}    /**     * 获取当前日期     * @return     */	public static Date getCurrentDate()	{		Calendar now = Calendar.getInstance();		return now.getTime();	}	public static Date parseDate(String date, String... pattern)			throws ParseException	{		return DateUtils.parseDate(date, pattern);	}	public static Date[] getDateRangeOfMonth(int year, int month)	{		month = month - 1;		Calendar rightNow = Calendar.getInstance();		rightNow.set(year, month, 1, 0, 0, 0);		Date startDate = rightNow.getTime();		rightNow.set(year, month + 1, 1, 0, 0, -1);		Date endDate = rightNow.getTime();		return new Date[] { formatDate(startDate), formatDate(endDate) };	}	public static int[] getNowSingleObject()	{		Calendar rightNow = Calendar.getInstance();		return new int[] { rightNow.get(Calendar.DAY_OF_MONTH),				rightNow.get(Calendar.MONTH) + 1, rightNow.get(Calendar.YEAR) };	}	public static String getNowM()	{		SimpleDateFormat bartDateFormat = new SimpleDateFormat(				"yyyy-MM-dd HH:mm");		Date now = new Date();		String str = bartDateFormat.format(now).toString();		return str;	}	public static Date formatDate(Date date)	{		SimpleDateFormat bartDateFormat = new SimpleDateFormat("yyyy-MM-dd");		Date convert = null;		try		{			convert = bartDateFormat.parse(bartDateFormat.format(date));		} catch (ParseException e)		{			// TODO Auto-generated catch block			e.printStackTrace();		}		return convert;	}	public static Date formatDate(Date date, int i)	{		SimpleDateFormat bartDateFormat = new SimpleDateFormat("yyyy-MM-dd");		if (i == 1)		{			bartDateFormat = new SimpleDateFormat("yyyy-MM-dd");		} else if (i == 2)		{			bartDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");		}else if (i == 3)		{			bartDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");		}		Date convert = null;		try		{			convert = bartDateFormat.parse(bartDateFormat.format(date));		} catch (ParseException e)		{			// TODO Auto-generated catch block			e.printStackTrace();		}		return convert;	}	public static Date getDate(java.sql.Timestamp timestamp) {		Calendar c = new GregorianCalendar();	    c.setTimeInMillis(timestamp.getTime());			return c.getTime();	}	/**	 * @param date	 *            需要格式化的日期	 * @param i	 *            1:yyyy-MM-dd 2:yyyy-MM-dd HH:mm 3:HH:mm else:yyyy-MM-dd	 * @return 规定格式的字符串	 */	public static String formatDatatoString(Date date, int i)	{		String result = "";		SimpleDateFormat bartDateFormat = new SimpleDateFormat("yyyy-MM-dd");		if (date == null)			return "";		if (i == 1)		{  			bartDateFormat = new SimpleDateFormat("yyyy-MM-dd");		} else if (i == 2)		{			bartDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");		} else if (i == 3)		{			bartDateFormat = new SimpleDateFormat("HH:mm");		} else if (i == 4)		{			bartDateFormat = new SimpleDateFormat("MM-dd HH:mm");		} else		if (i == 5)		{			bartDateFormat = new SimpleDateFormat("MM-dd HH:mm:ss");		} else if (i == 6)		{			bartDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");		} else if (i == 7)		{			bartDateFormat = new SimpleDateFormat("yyyyMMddHHmmss");		} else if (i == 8)		{			bartDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss,SSS");		}else if(i ==9){			bartDateFormat = new SimpleDateFormat("yyyyMMddHHmmssSSS");		}else if(i ==10){			bartDateFormat = new SimpleDateFormat("yyyyMMddHHmm");		}else if(i ==11){			bartDateFormat = new SimpleDateFormat("yyyyMMdd");		} else if (i == 12)		{			bartDateFormat = new SimpleDateFormat("HH:mm:ss");		}		result = bartDateFormat.format(date).toString();		return result;	}	/**	 * 将字符串格式化成日期	 * 	 * @param date	 * @return	 */	public static Date formatDate(String date)	{		SimpleDateFormat bartDateFormat = new SimpleDateFormat("yyyy-MM-dd");		Date convert = null;		try		{			convert = bartDateFormat.parse(date);		} catch (ParseException e)		{			// TODO Auto-generated catch block			e.printStackTrace();		}		return convert;	}	public static Date formatDate(String date,String format)	{		SimpleDateFormat bartDateFormat = new SimpleDateFormat(format);		Date convert = null;		try		{			convert = bartDateFormat.parse(date);		} catch (ParseException e)		{			// TODO Auto-generated catch block			e.printStackTrace();		}		return convert;	}	public static Date formatDate(String date, int i)	{		SimpleDateFormat bartDateFormat = new SimpleDateFormat("yyyy-MM-dd");		if (i == 1)		{			bartDateFormat = new SimpleDateFormat("yyyy-MM-dd");		} else if (i == 2)		{			bartDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");		} else if (i == 3)		{			bartDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");		} else if (i == 4)		{			bartDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss,SSS");		} else if (i == 5)		{			bartDateFormat = new SimpleDateFormat("HH:mm:ss");		}else if(i ==6){			bartDateFormat = new SimpleDateFormat("yyyyMMddHHmmss");		}		Date convert = null;		try		{			convert = bartDateFormat.parse(date);		} catch (ParseException e)		{			logger.warn(e.getMessage());		}		return convert;	}	public static boolean isSameDay(Date date1, Date date2, int i)	{		String s1 = formatDatatoString(date1, i);		String s2 = formatDatatoString(date2, i);		return s1.equalsIgnoreCase(s2);	}	public static boolean isToday(Date date1, int i)	{		Calendar today = Calendar.getInstance();		return isSameDay(today.getTime(), date1, i);	}	public static Long formatDateToLong(Date date)	{		if (date != null)		{			Calendar now = Calendar.getInstance();			now.setTime(date);			return now.getTimeInMillis();		} else		{			return 0L;		}	}	public static Date formatLongToDate(Long millis)	{		Calendar now = Calendar.getInstance();		now.setTimeInMillis(millis);		return now.getTime();	}	/**	 * 	 * @param longTime	 * @return	 */	public static String getTimeStr(Long longTime)	{		String result = "00:00:00";		try		{			int hour = (longTime.intValue() / 3600) % 24;			int minite = (longTime.intValue() / 60) % 60;			int second = (longTime.intValue() % 60);			String hourStr = hour < 10 ? ("0" + hour) : hour + "";			String miniteStr = minite < 10 ? ("0" + minite) : minite + "";			String secondStr = second < 10 ? ("0" + second) : second + "";			result = hourStr + ":" + miniteStr + ":" + secondStr;		} catch (Exception e)		{			logger.error("", e);		}		return result;	}/** *  * @param strTime * @return */	public static Long getStrLongTime(String strTime)	{		Long result = 0L;		String[] strs = strTime.split(":");		try		{			int hour = Integer.parseInt(strs[0]);			int minite = Integer.parseInt(strs[1]);			int second = Integer.parseInt(strs[2]);			result = Long.valueOf((hour * 60 * 60) + (minite * 60) + second);		} catch (Exception e)		{			logger.error("", e);		}		return result;	}	/**	 * 将 java.util.Date 对象转换为 java.sql.Timestamp 对象。	 * 	 * @param date	 *            java.util.Date对象	 * @return java.sql.Timestamp对象,如果参数为 null 则返回 null。	 */	public static java.sql.Timestamp toSqlTimestamp(java.util.Date date) {		if (date == null) {			return null;		}		return new java.sql.Timestamp(date.getTime());	}		/**	 * @data:2015-01-09	 * @param date	 * @param day	 * @return	 * 日期增加指定天数	 */	public static Date addDay(Date date,int day){			Calendar cal=Calendar.getInstance();			cal.setTime(date);			cal.add(Calendar.DAY_OF_YEAR,day);			return cal.getTime();		}}

转载于:https://my.oschina.net/yabushan/blog/661077

你可能感兴趣的文章
艾级计算机的发展与挑战
查看>>
RocketMQ事务消息实战
查看>>
手把手教你做出好看的文本输入框
查看>>
zabbix 3.2.7 (源码包)安装部署
查看>>
vsCode 快捷键、插件
查看>>
网络最大流问题算法小结 [转]
查看>>
iOS推送消息报错误“Domain=NSCocoaErrorDomain Code=3000”的可能问题
查看>>
kvm-1
查看>>
leetcode 64. Minimum Path Sum
查看>>
textkit
查看>>
CentOS7+CDH5.14.0安装CDH错误排查: HiveServer2 该角色的进程已退出。该角色的预期状态为已启动...
查看>>
The Oregon Trail 俄勒冈之旅
查看>>
Excel VBA连接MySql 数据库获取数据
查看>>
Developing a Service Provider using Java API(Service Provider Interface)(转)
查看>>
oschina程序开发
查看>>
nested exception is java.lang.NoClassDefFoundError: net/sf/cglib/proxy/CallbackFilter
查看>>
“正在注册字体”问题解决
查看>>
windows10 更新后要输入2次密码才能进入系统
查看>>
iOS开发-OpenGL ES入门教程1
查看>>
面向对象思想(第一天)
查看>>