首页 > 代码库 > 日期处理

日期处理

 /**
     * 获得当前年
     * @return
     */
    public static int getYear(){
    	return Calendar.getInstance().get(Calendar.YEAR);
    }
    /**
     * 获得当前月
     * @return
     */
    public static int getMonth(){
    	return Calendar.getInstance().get(Calendar.MONTH)+1;
    }


计算日期间隔的天数


    /**
     * 计算日期间隔天数
     * @param d1
     * @param d2
     * @return
     */
    private static int getDaysBetween (Calendar d1, Calendar d2) {
    	int days = d2.get(Calendar.DAY_OF_YEAR) - d1.get(Calendar.DAY_OF_YEAR);
        if(d2.getTimeInMillis()>=d1.getTimeInMillis()){
	        int y2 = d2.get(Calendar.YEAR);
	        if (d1.get(Calendar.YEAR) != y2) {
	            d1 = (Calendar) d1.clone();
	            do {
	                days += d1.getActualMaximum(Calendar.DAY_OF_YEAR);//得到当年的实际天数
	                d1.add(Calendar.YEAR, 1);
	            } while (d1.get(Calendar.YEAR) != y2);
	        }
        }else{
        	days = -getDaysBetween(d2,d1);
        }
        return days;
    }
    /**
     * 计算日期间隔天数
     * @param d1
     * @param d2
     * @return
     */
    public static int getDaysBetween(Date d1,Date d2){
    	Calendar targettime = Calendar.getInstance();
    	targettime.setTime(d1);
    	
    	Calendar reltime = Calendar.getInstance();
    	reltime.setTime(d2);
    	
    	return getDaysBetween(targettime, reltime);
    }


返回日期字符串

private static DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
	
	/**
	 * 返回 yyyy-MM-dd格式的日期字符串
	 * @param date 日期Date
	 * @return
	 */
	public static String toString(Date date){
		return df.format(date);
	}
	/**
	 * 返回基于指定格式转换的日期字符串
	 * @param date 日期Date
	 * @param reg 转换格式 例:yyyy-MM-dd
	 * @return
	 */
	public static String toString(Date date,String reg){
		return new SimpleDateFormat(reg).format(date);
	}

	public static Date toDate(String datestr){
		try {
			return df.parse(datestr);
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return null;
		}
	}

日期转化为字符串

private static DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	/**
	 * 日期转化为字符串(包含毫秒)
	 * @param date
	 * @return
	 */
	public static String toTime2(Date date){
		return date.toString();
	}
	/**
	 * 日期转化为字符串(yyyy-MM-dd HH:mm:ss)
	 * @param date
	 * @return
	 */
	public static String toTime(Date date){
		return df.format(date);
	}



日期处理