首页 > 代码库 > java日期工具类

java日期工具类

这里我总结了java中日期的处理方法

 

/**
	 * 按照yyyy-MM-dd HH:mm:ss格式化日期
	 * 可根据需要定制
	 * @param date
	 * @return
	 */
	public static String format(Date date) {
		sdf.applyPattern("yyyy-MM-dd HH:mm:ss");
		return sdf.format(date);
	}

	/**
	 * 给根据日期添加天数
	 * 
	 * @param date
	 *            日期
	 * @param hour
	 *            要添加的小时
	 * @return
	 */
	public static Date addDays(Date date, int days) {
		Calendar c = Calendar.getInstance();
		c.setTime(date);
		c.add(Calendar.DATE, days);
		date = c.getTime();
		return date;
	}

	/**
	 * 给根据日期添加小时数
	 * 
	 * @param date
	 *            日期
	 * @param hour
	 *            要添加的小时
	 * @return
	 */
	public static Date addHour(Date date, int hour) {
		Calendar c = Calendar.getInstance();
		c.setTime(date);
		c.add(Calendar.HOUR, hour);
		date = c.getTime();
		return date;
	}
	
	/**
	 * 在给定日期上添加给定的月数
	 * 
	 * @param date
	 *            日期
	 * @param month
	 *            要加的月数
	 * @return
	 */
	public static Date addMonth(Date date, int month) {
		Calendar c = Calendar.getInstance();
		c.setTime(date);
		c.add(Calendar.MONTH, month);
		date = c.getTime();
		return date;
	}

	/**
	 * 获得指定日期 前几天 或者 后几天
	 * 
	 * @param specifiedDay
	 * @return
	 */
	public static String getSpecifiedDayAfter(String specifiedDay,int dates) {
		Calendar c = Calendar.getInstance();
		Date date = null;
		try {
			date = new SimpleDateFormat("yy-MM-dd").parse(specifiedDay);
		} catch (ParseException e) {
			e.printStackTrace();
		}
		c.setTime(date);
		int day = c.get(Calendar.DATE);
		c.set(Calendar.DATE, day -dates);

		String dayAfter = new SimpleDateFormat("yyyy-MM-dd")
				.format(c.getTime());
		return dayAfter;
	}