java计算两个字符串日期相差的天数

来源:互联网 发布:易企秀mac官网下载 编辑:程序博客网 时间:2024/05/20 11:46

java计算两个字符串日期相差的天数

/**     * @descript:计算两个字符串日期相差的天数     * @param date1 字符串日期1     * @param date2 字符串日期2     * @param format 日期格式化方式  format="yyyy-MM-dd"     * @return     */public static long dayDiff(String date1, String date2,String format) {SimpleDateFormat formater = new SimpleDateFormat(format);long diff=0l;try {long d1 = formater.parse(date1).getTime();long d2 = formater.parse(date2).getTime();//diff=(Math.abs(d1-d2) / (1000 * 60 * 60 * 24));diff=(d1-d2)/(1000 * 60 * 60 * 24);} catch (ParseException e) {e.printStackTrace();}return diff;}

案例:

/**      * 默认时间格式, yyyy-MM-dd hh24:mm:ss      */  public static String DEFAULT_TIME_PATTERN = "yyyy-MM-dd HH:mm:ss"; //当前系统时间(将系统当前时间转换为字符串) String sysTime=DateUtil.dateToString(new Date(), DateUtil.DEFAULT_TIME_PATTERN);//促销开始时间String marketingBegin=DateUtil.dateToString(market.getMarketingBegin(), DateUtil.DEFAULT_TIME_PATTERN);//促销结束时间 String marketingEnd=DateUtil.dateToString(market.getMarketingEnd(), DateUtil.DEFAULT_TIME_PATTERN);//若审核状态为1已审核long diff1=DateUtil.dayDiff(sysTime,marketingBegin,DateUtil.DEFAULT_TIME_PATTERN);long diff2=DateUtil.dayDiff(sysTime,marketingEnd,DateUtil.DEFAULT_TIME_PATTERN); if(diff1<0){    //活动状态为未开始    market.setActivityStatus("1");}else if(diff1>=0 && diff2<=0){    //活动状态为正在进行    market.setActivityStatus("2");}else if(diff2>0){    //活动状态为已结束    market.setActivityStatus("3");}