工具方法:JAVA计算两个日期之前相差的天数

来源:互联网 发布:js下载canvas图片 编辑:程序博客网 时间:2024/05/22 05:25

需求:网站首页某方面文章按照id升序,每天展示一篇,如果文章展示完了就再循环。

计算两个日期之前的天数

package com.taray.util;import java.text.ParseException;  import java.text.SimpleDateFormat;  import java.util.Calendar;  import java.util.Date; public class Test {    /**      * @param args      * @throws ParseException       */      public static void main(String[] args) throws ParseException {          // TODO Auto-generated method stub          SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");          Date d1=sdf.parse("2012-09-08 10:10:10");          Date d2=sdf.parse("2013-09-12 00:00:00");          System.out.println(daysBetween(d1,d2));          System.out.println(daysBetween("2012-09-08 10:10:10","2012-09-15 00:00:00"));          System.out.println(daysBetween(d1, new Date()));    }             /**       * 计算两个日期之间相差的天数       * @param smdate 较小的时间      * @param bdate  较大的时间      * @return 相差天数      * @throws ParseException       */        public static int daysBetween(Date smdate,Date bdate) throws ParseException        {            SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");          smdate=sdf.parse(sdf.format(smdate));          bdate=sdf.parse(sdf.format(bdate));          Calendar cal = Calendar.getInstance();            cal.setTime(smdate);            long time1 = cal.getTimeInMillis();                         cal.setTime(bdate);            long time2 = cal.getTimeInMillis();                 long between_days=(time2-time1)/(1000*3600*24);        return Integer.parseInt(String.valueOf(between_days));               }           /** *字符串的日期格式的计算 */      public static int daysBetween(String smdate,String bdate) throws ParseException{          SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");          Calendar cal = Calendar.getInstance();            cal.setTime(sdf.parse(smdate));            long time1 = cal.getTimeInMillis();                         cal.setTime(sdf.parse(bdate));            long time2 = cal.getTimeInMillis();                 long between_days=(time2-time1)/(1000*3600*24);          return Integer.parseInt(String.valueOf(between_days));         }  }