时间工具类(比较时间大小,计算一年中的天数,计算现在和指定时间相差天数)

如果从数据库取出两个时间,比较其大小,可以用以下方法:
public class DateUtils{
      public static String DEFAULT_FORMAT = "yyyy-MM-dd";
	/**
	 * 
	 * @param d1
	 * @param d2
	 * @return
	 */
	public long CompawithTime(Date d1,Date d2){
		long a =d1.getTime()-d2.getTime();
		return a;
	}
	@Test
	public void CompawithTime() {
		CompareWithTime v = new CompareWithTime();
		Date d1 = new Date();
		Date d2 = new Date();
		long a = v.CompawithTime(d1, d2);
		if(a<0){
			System.out.println("d1时间小于d2时间");
		}else if(a==0){
			System.out.println("d1时间等于d2时间");
		}else{
			System.out.println("d1时间大于d2时间");
		}
	}
	/**
	 * 计算一年中的天数
	 * @return
	 */
	public int calculateDays(){
		Calendar cd = Calendar.getInstance();  
		cd.set(Calendar.DAY_OF_YEAR,1);//把日期设为当年第一天  
		cd.roll(Calendar.DAY_OF_YEAR,-1);//把日期回滚一天。  
		int MaxYear = cd.get(Calendar.DAY_OF_YEAR);   
		return MaxYear; 
	}
	
	/**
	 * 计算一年中的天数测试
	 * @return
	 */
	@Test
	public void calculateDays1(){
		System.out.println("今年总共"+this.calculateDays()+"天");
	}

	/**
	 *计算距过去某个时间相隔天数
	 * @param dateStr
	 * @return
	 */
	public int calculateNumberOfDays(String dateStr){
		SimpleDateFormat sdf = new SimpleDateFormat(DEFAULT_FORMAT);
		try {
			Date date = sdf.parse(dateStr);
			Date now = DateUtil.today();
			long n1 = now.getTime();
			long n2 = date.getTime();
			if(n1>n2){
				long diffTime = n1-n2;
				int numberOfDays = (int) (diffTime/(3600*1000*24));
				return numberOfDays;
			}else{
				return 0;
			}
		} catch (ParseException e) {
			return 0;
		}
	}
	/**
	 * 距离过去某个时间的天数
	 * @return
	 */
	@Test
	public void calculateDays1(){
		System.out.println("今天是2014年7月2号,距离2014年6月30号"+calculateNumberOfDays("2014-06-30")+"天");
	}
}

运行结果如下:
d1时间等于d2时间
2014年总共365天
今天是2014年7月2号,距离2014年6月30号2天

你可能感兴趣的:(java,时间比较大小,计算今年的天数,计算距过去某个时间段的天数)