1. 程式人生 > >根據任何時間獲取當月開始時間和結束時間

根據任何時間獲取當月開始時間和結束時間

/**
	 * 獲取指定日期所在月份開始的時間
	 * 時間格式yyyyMMdd
	 * @param date 指定日期
	 * @return
	 */
	public static String getMonthBegin(Date date) {
		SimpleDateFormat aDateFormat=new SimpleDateFormat("yyyyMMdd");
		Calendar c = Calendar.getInstance();
		c.setTime(date);
		
		//設定為1號,當前日期既為本月第一天  
		c.set(Calendar.DAY_OF_MONTH, 1);
		//將小時至0  
		c.set(Calendar.HOUR_OF_DAY, 0);  
		//將分鐘至0  
		c.set(Calendar.MINUTE, 0);  
		//將秒至0  
		c.set(Calendar.SECOND,0);  
		//將毫秒至0  
		c.set(Calendar.MILLISECOND, 0);  
		// 獲取本月第一天的時間
		return aDateFormat.format(c.getTime());  
	}
/**
	 * 獲取指定日期所在月份結束的時間
	 * 時間格式yyyyMMdd
	 * @param date 指定日期
	 * @return
	 */
	public static String getMonthEnd(Date date) {
		SimpleDateFormat aDateFormat=new SimpleDateFormat("yyyyMMdd");
		Calendar c = Calendar.getInstance();  
		c.setTime(date);
		
		//設定為當月最後一天
		c.set(Calendar.DAY_OF_MONTH, c.getActualMaximum(Calendar.DAY_OF_MONTH));  
		//將小時至23
		c.set(Calendar.HOUR_OF_DAY, 23);  
		//將分鐘至59
		c.set(Calendar.MINUTE, 59);  
		//將秒至59
		c.set(Calendar.SECOND,59);  
		//將毫秒至999
		c.set(Calendar.MILLISECOND, 999);  
		// 獲取本月最後一天的時間 
		return aDateFormat.format(c.getTime());
	}