这样可以计算天数
GregorianCalendar ger1 = new GregorianCalendar(2000,10,12);
           GregorianCalendar ger2 = new GregorianCalendar(2001,10,12);
           long aa = ger2.getTimeInMillis()-ger1.getTimeInMillis();
           System.out.println(aa);
           long  bb = aa/(3600*24*1000);
           System.out.print(bb);int.Parse??
int是基本类型怎么会有方法呢?
Integer.parseInt(String)
是用这个吧

解决方案 »

  1.   

    你看看这样做是不是更方便点:
    先把你要加减的日期格式化成2001-01-01的形式
    可以用你代码的这一段:
    String strPubDate=temptime;  strPubDate=strPubDate.Substring(0,strPubDate.IndexOf(" "));  String strY=strPubDate.Substring(0,4);  String strT=strPubDate.Substring(5,strPubDate.Length-5);  int intIndex=strT.IndexOf("-");   string strM=strT.Substring(0,intIndex);   intIndex++;
               strT=strT.Substring(intIndex,strT.Length-intIndex);      string strD=strT;然后:
    Calendar cld=Calendar.getInstance();
    cld.set(Integer.parseInt(strY),Integer.parseInt(strM),Integer.parseInt(strD))
    做运算的时候:
    int num=1;    //你要做加减的量
    cld.add(Calendar.YEAR,num);          //年份上的加减
    cld.add(Calendar.MONTH,num);         //月份上的加减
    cld.add(Calendar.DATE,num);          //日上的加减
    String date=null;
    date=cld.get(Calendar.YEAR)+cld.get(Calendar.MONTH)+cld.get(Calendar.DATE)   //得到你要的日期,也可以做一定的格式处理;这个自己研究了!主要是看看Calendar这个类。
      

  2.   

    public String date_pcon(String beginstr,String endstr)
    {
    String result="";
    Calendar c1=Calendar.getInstance();
    Calendar c2=Calendar.getInstance();
    Date temp1,temp2;
    long l1=0,l2=0,l=0;
    int h=0,m=0,s=0;
    String time="";
    try
    {
    temp1 = my_time.parse(beginstr);
    temp2 = my_time.parse(endstr);
    c1.setTime(temp1);
    c2.setTime(temp2);
    l1 = c1.getTimeInMillis();
    l2 = c2.getTimeInMillis();
    l=l2-l1;
    h=(int)(l/(60*60*1000));
    m=(int)((l%(60*60*1000))/(60*1000));
    s=(int)(((l%(60*60*1000))%(60*1000))/1000);
    result=String.valueOf(h) + ":" + String.valueOf(m) + ":" + String.valueOf(s);
    }
    catch(Exception e)
    {
    Write_Err(e);
    result="";
    }
    return result;
    }//計算時間差值
      

  3.   

    我的想法是把这2个时间转化成CurrenTimeMillis 类,然后相互减一下就可以啦...
    不过他是一豪秒为单位的,再转化一下,具体我不会遍,有谁可以帮我实现这个算法????
      

  4.   

    String dateStr1="2005-05-06";
    String dateStr2="2001-11-23";java.util.Date date1=new java.util.Date(dateStr1.replaceAll("-","/"));
    java.util.Date date2=new java.util.Date(dateStr3.replaceAll("-","/"));
    int dayNum=(date1.getTime()-date2.getTime())/(24*60*60*1000)
      

  5.   

    转一个:/*
     * @(#) Test.java
     * Create By James Fancy
     */
    package jamesfancy;import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;public class CompareDate {    public static String getHours(String start, String end)
                throws ParseException {
            SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Date d1 = fmt.parse(start);
            Date d2 = fmt.parse(end);        long d = d2.getTime() - d1.getTime();
            long hours = d / 3600000;
            long minutes = (d % 3600000) / 60000;        return String.valueOf(hours) + ":" + minutes;
        }    public static void test() {
            try {
                System.out.println(getHours("1999-20-10 13:24:48",
                        "2004-1-3 22:48:21"));
            } catch (ParseException e) {
                e.printStackTrace();
            }
        }    public static void main(String[] args) {
            test();
        }
    }