有这么一个字符串内容是这样
张三 2010-9-17 2010-10-15
其中包括名字。两个日期,想要得到两个日期之间的间隔天数,因为有很多条这样的数据。比如说一次有几万条数据的话,一次要全部得到,所以考虑到效率问题,希望哪个大虾帮忙下,在线等。。

解决方案 »

  1.   

    没说清楚到底要干什么是数据库中的数据?直接用diff函数啊
      

  2.   

    不是数据库中的数据是冲txt中读取出来的。
      

  3.   

    1.ReadLine读取文本文件中的一行
    2.使用split将一行字符串分成几个子串(空格分隔符)
    3.取出两个日期字符串
    4.转换成日期型
    5.计算两日期间隔天数
    6.转1
      

  4.   

    字符串可进行分割再处理    日期计算  可使用diff函数直接解决   不知道楼主使用什么数据库   还有个SQLdateAdappeter也是对日期进行计算   网上  楼主可直接Google  SQL  日期计算  具体我忘了   
      

  5.   

    帮你简单写了一下,测试可以通过
    我的test.txt里只有两条数据,仅供测试,如下
    张三 2010-09-17 2010-10-15
    李四 2010-11-12 2010-12-11   public class Test {
    public static void main(String[] args) {

    File file=new File("D:\\test.txt");

    try {
    BufferedReader br=new BufferedReader(new FileReader(file));

    String str="";

    while((str=br.readLine())!=null){

    String dd[]=str.split(" ");

    String date1=dd[1];

    String date2=dd[2];

    int count=betweenDay(date1,date2);

    System.out.println(count);

    }
    } catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }

    public static  int betweenDay(String date1,String date2){

    int count=0;

    SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");

    try {
    Date dateFrom=sdf.parse(date1);

    Date dateTo=sdf.parse(date2);

        count=(int)((dateTo.getTime()-dateFrom.getTime())/(24*60*60*1000));

    } catch (ParseException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

    return count;

    }}