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

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

hot3.png

package com.common.time;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;/** * 相关时间处理类 * @author  * @version 1.0,  2012/09/15 */public class DateUtil {	/**	 * 获得指定日期的前一天	 * 	 * @param specifiedDay	 * @return	 * @throws Exception	 */	public static String getSpecifiedDayBefore(String specifiedDay) 	{		Calendar c = Calendar.getInstance();		Date date = null;		SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");		try 		{						date = simpleDateFormat.parse(specifiedDay);		}		catch (ParseException e)		{			e.printStackTrace();		}		c.setTime(date);		int day = c.get(Calendar.DATE);		c.set(Calendar.DATE, day - 1);		String dayBefore = simpleDateFormat.format(c.getTime());		return dayBefore;	}	/**	 * 获得指定日期的后一天	 * 	 * @param specifiedDay	 * @return	 */	public static String getSpecifiedDayAfter(String specifiedDay) 	{		Calendar c = Calendar.getInstance();		Date date = null;		SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");		try 		{			date = simpleDateFormat.parse(specifiedDay);		}		catch (ParseException e) 		{			e.printStackTrace();		}		c.setTime(date);		int day = c.get(Calendar.DATE);		c.set(Calendar.DATE, day + 1);		String dayAfter = simpleDateFormat.format(c.getTime());		return dayAfter;	}		/**	 * 获取指定时间的上个月的最后一天	 * @param specifiedDay	 * @return	 */	public static String getLastDayOfMonth(String specifiedDay) 	{		Calendar c = Calendar.getInstance();		SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");		Date date = null;		try 		{			date = simpleDateFormat.parse(specifiedDay); //转化为Date格式		}		catch (ParseException e)		{			e.printStackTrace();		}		c.setTime(date);				c.add(Calendar.MONTH, -1); //获取上一个月				int maxDate = c.getActualMaximum(Calendar.DAY_OF_MONTH);	    c.set(Calendar.DAY_OF_MONTH, maxDate);				String LastDayOfMonth = simpleDateFormat.format(c.getTime()); //格式化时间格式		return LastDayOfMonth;	}			/**	 * 获取指定时间的上个月的最后一天	 * @param specifiedDay	 * @return	 */	public static String getLastDayOfMonth(Date specifiedDay) 	{		Calendar c = Calendar.getInstance();		c.setTime(specifiedDay);		c.add(Calendar.MONTH, -1); //设置上一个月				int maxDate = c.getActualMaximum(Calendar.DAY_OF_MONTH); //设置最后一天	    c.set(Calendar.DAY_OF_MONTH, maxDate);				SimpleDateFormat simpleDateFormat =	new SimpleDateFormat("yyyy-MM-dd");		String LastDayOfMonth = simpleDateFormat.format(c.getTime());   //格式化时间格式		return LastDayOfMonth;	}		/**	 * 获取指定时间的上个月的第一天	 * @param specifiedDay	 * @return	 */	public static String getFirstDayOfMonth(String specifiedDay) 	{		Calendar c = Calendar.getInstance();		SimpleDateFormat simpleDateFormat =	new SimpleDateFormat("yyyy-MM-dd");		Date date = null;		try 		{			date = simpleDateFormat.parse(specifiedDay); //转化为Date格式		}		catch (ParseException e)		{			e.printStackTrace();		}		c.setTime(date);		c.add(Calendar.MONTH, -1); //设置上一个月				int MiniDate = c.getActualMinimum(Calendar.DAY_OF_MONTH);	    c.set(Calendar.DAY_OF_MONTH, MiniDate);				String FirstDayOfMonth = simpleDateFormat.format(c.getTime());		return FirstDayOfMonth ;	}		/**	 * 获取上个月的第一天	 * @param specifiedDay	 * @return	 */	public static String getFirstDayOfMonth(Date specifiedDay) 	{		Calendar c = Calendar.getInstance();		SimpleDateFormat simpleDateFormat =	new SimpleDateFormat("yyyy-MM-dd");		c.setTime(specifiedDay);				c.add(Calendar.MONTH, -1); //设置上一个月				int MiniDate = c.getActualMinimum(Calendar.DAY_OF_MONTH);	    c.set(Calendar.DAY_OF_MONTH, MiniDate);				String FirstDayOfMonth = simpleDateFormat.format(c.getTime());		return FirstDayOfMonth ;	}				/**	 *  	 * 方法描述:取得当前日期的上月或下月日期 ,amount=-1为上月日期,amount=1为下月日期;创建人:	 * @param s_DateStr	 * @param s_FormatStr	 * @return	 * @throws Exception	 */	public static String getFrontBackStrDate(String strDate,int amount) throws Exception 	{		if (null == strDate) 		{			return null;		}		try 		{			SimpleDateFormat fmt = new SimpleDateFormat("yy-MM-dd");			Calendar c = Calendar.getInstance();			c.setTime(fmt.parse(strDate));			c.add(Calendar.MONTH, amount);			return fmt.format(c.getTime());		} 		catch (Exception e) 		{			e.printStackTrace();		}		return "";	}		/**	 * 返回两时间差,拼接成字符串返回	 * @param time1	 * @param time2	 * @return	 */	public static String getTimeSub(Long time1, Long time2 )	{		String result = "";		try 		{			Long diff = time2 - time1;   //两时间差,精确到毫秒 						Long day = diff / (1000 * 60 * 60 * 24);         //以天数为单位取整			Long hour=(diff/(60*60*1000)-day*24);            //以小时为单位取整 			Long min=((diff/(60*1000))-day*24*60-hour*60);        //以分钟为单位取整 			Long secone=(diff/1000-day*24*60*60-hour*60*60-min*60);						result = day + "|" + hour+ "|" + min ; 			System.out.println("---两时间差---> " +day+"天"+hour+"小时"+min+"分"+secone+"秒");			} 		catch (RuntimeException e) 		{			e.printStackTrace();		}		return result ;	}		}

转载于:https://my.oschina.net/u/1172409/blog/147940

你可能感兴趣的文章
PHP回顾之多进程编程
查看>>
JavaScript String 对象的实际运用
查看>>
发布-订阅模式
查看>>
[译文] 初学者应该了解的数据结构: Graph
查看>>
这个 RxBus 稳如老狗
查看>>
KOL运营之——如何与网文作者高效地约稿?
查看>>
日报表格只有一份---单例模式
查看>>
[译] 更可靠的 React 组件:合理的封装
查看>>
在学习中运用类比
查看>>
微信小程序实现WebSocket心跳重连
查看>>
[译] 构建高性能和可扩展性 Node.js 应用的最佳实践 [第 3/3 部分]
查看>>
【手把手带你配 webpack】第一步, 做一个高级前端工程师
查看>>
阿里顶级Java架构师,教你这样手写Spring!
查看>>
小程序前端制作-个人中心
查看>>
[iOS]一次立竿见影的启动时间优化
查看>>
CSS定位属性详解
查看>>
[译] 图解 React
查看>>
游戏AI的生命力源自哪里?为你揭开MOBA AI的秘密!
查看>>
为什么源码分析味同嚼蜡?浅析技术写作中的思维误区
查看>>
一步一步分析vue之$mount(1)
查看>>