当前位置:编程学习 > JAVA >>

关于时间差计算的“难题”

110103197505250000  2005/7/11
110103197505250000  2007/9/13
110105196508042000  2008/10/26
110105196508042000  2008/10/26
110105660615429  2005/11/29
110105660615429  2006/11/22
........................
........................

以上是数据格式,分别是每个客户有两条时间记录,请问如何通过java编写一个能够算出这些日期的时间差?
时间差取值范围是月份,比如2005年7月11号距离2005年8月1日的时间差应该是0.63333333333333 个月,当然每个月的天数会不同,这里可以把每个月看成是30天的。
请各位路过的大神指导一下呀,本人属于java的菜鸟,但是要处理的数据量比较庞大,所以想用编程实现。 java 编程 --------------------编程问答-------------------- 看不dog数据格式 --------------------编程问答-------------------- 将其转为DATA 在获取TIME 减一下就好啦
import java.text.SimpleDateFormat;
import java.util.Date;

public class Test {
public static void main(String args[]) throws Exception{
SimpleDateFormat sdf=new SimpleDateFormat("yyyy/MM/dd");
Date a = sdf.parse("2005/7/11");
Date b = sdf.parse("2006/7/12");
long day = (b.getTime()- a.getTime())/3600/24/1000;
System.out.println(day);
}
}
--------------------编程问答--------------------

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateDemo {
private static final DateFormat df = new SimpleDateFormat("yyyy/MM/dd");
private static final long DAY_LEN = 1000 * 3600 * 24;

public static double calMonths(String stime, String etime) {
double dMonth = 0;
try {
Date sDate = df.parse(stime);
Date eDate = df.parse(etime);
long iDay = (eDate.getTime() - sDate.getTime()) / DAY_LEN;
dMonth = (double)iDay / 30;
} catch (ParseException e) {
e.printStackTrace();
}

return dMonth;
}

public static void main(String[] args) {
System.out.println(DateDemo.calMonths("2005/7/11", "2005/8/1"));
}
}
--------------------编程问答--------------------
谢谢你的回复,我的数据格式是这样的,有很多个客户记录,每个客户的记录有2条,如何计算这两条记录之间的时间差呢?用月份表示出来,比如2005/7/11到2005/12/31就是5.63333333个月。能再给个具体点的程序吗? --------------------编程问答--------------------  你先需要把数据提取出来,一个数据对于2个时间,然后把时间参数传入方法public static double calMonths(String stime, String etime)中,结果不就出来了吗? --------------------编程问答-------------------- 整个流程应该是,从文件中读取数据——》解析数据——》计算时间差——》写入文件,没什么难度的 --------------------编程问答-------------------- 太感谢了!  做出来了! 我也是Java的菜鸟,希望能多指教。 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 来这里学学

http://blog.163.com/shensc@126/blog/static/1312896522010230114946221/ --------------------编程问答--------------------
引用 7 楼 lcl200803007 的回复:
太感谢了!  做出来了! 我也是Java的菜鸟,希望能多指教。

在自己思索的基础上面解决问题才有成就感!! --------------------编程问答--------------------
引用


引用 10 楼 lulihong324 的回复:
引用 7 楼 lcl200803007 的回复:太感谢了!  做出来了! 我也是Java的菜鸟,希望能多指教。
在自己思索的基础上面解决问题才有成就感!!
呵呵 是啊,虽然程序简单,但是始终是经过自己的思路,也引用了一下在下的函数  --------------------编程问答--------------------
引用 9 楼 ljc19901124 的回复:
来这里学学

http://blog.163.com/shensc@126/blog/static/1312896522010230114946221/
嗯 谢谢。
补充:Java ,  Eclipse
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,