一个字符串截取的问题 有这么一个字符串内容是这样张三 2010-9-17 2010-10-15其中包括名字。两个日期,想要得到两个日期之间的间隔天数,因为有很多条这样的数据。比如说一次有几万条数据的话,一次要全部得到,所以考虑到效率问题,希望哪个大虾帮忙下,在线等。。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 没说清楚到底要干什么是数据库中的数据?直接用diff函数啊 不是数据库中的数据是冲txt中读取出来的。 1.ReadLine读取文本文件中的一行2.使用split将一行字符串分成几个子串(空格分隔符)3.取出两个日期字符串4.转换成日期型5.计算两日期间隔天数6.转1 字符串可进行分割再处理 日期计算 可使用diff函数直接解决 不知道楼主使用什么数据库 还有个SQLdateAdappeter也是对日期进行计算 网上 楼主可直接Google SQL 日期计算 具体我忘了 帮你简单写了一下,测试可以通过我的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; }} 请教struts2的国际化问题 问个关于showModalDialog的问题 hibernate 子查询 请教String 替换问题! 一个让人困惑的问题 求教:数据库抛出异常Invalid operation for the current cursor position. 在JSP中调用javabean出现的问题!以前发过这个帖子,到现在还没解决! 请问怎么知道oracle的端口? Date问题 一个分页的javabean 批量导入Double问题~~(在线等答案) struts2登陆后跳到本页和网页过期问题
2.使用split将一行字符串分成几个子串(空格分隔符)
3.取出两个日期字符串
4.转换成日期型
5.计算两日期间隔天数
6.转1
我的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;
}}