日期:2014-05-20  浏览次数:20692 次

java.util.Date类的日期时间相减
求教大侠们。java日期时间类(java.util.Date)怎么加减,要精确到毫秒的???

------解决方案--------------------
需要使用java.util.Calendar

public abstract void add(int field,
int amount)根据日历的规则,为给定的日历字段添加或减去指定的时间量。例如,要从当前日历时间减去 5 天,可以通过调用以下方法做到这一点: 
add(Calendar.DAY_OF_MONTH, -5)。


可以参考该类的API
------解决方案--------------------

java计算时间差及比较时间大小
比如:现在是2004-03-26 13:31:40
过去是:2004-01-02 11:30:24
我现在要获得两个日期差,差的形式为:XX天XX小时XX分XX秒

SimpleDateFormat dfs = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date begin=dfs.parse("2004-01-02 11:30:24");
java.util.Date end = dfs.parse("2004-03-26 13:31:40");
long between=(end.getTime()-begin.getTime())/1000;//除以1000是为了转换成秒
long day1=between/(24*3600);
long hour1=between%(24*3600)/3600;
long minute1=between%3600/60;
long second1=between%60/60;
System.out.println(""+day1+"天"+hour1+"小时"+minute1+"分"+second1+"秒");
------解决方案--------------------
Java code
long t1 = d1.getTime();
long t2 = d2.getTime();

long millis = t2 - t1;

long seconds = TimeUnit.MILLISECONDS.toSeconds(millis);

long days = TimeUnit.MILLISCONDS.toDays(millis);

------解决方案--------------------
推荐使用 apache 的 DateUtils,里面有很多日前的API,估计有你需要的方法.
------解决方案--------------------
用getTime()方法就可以把日期转换成毫秒的,然后进行相减就可以了
------解决方案--------------------
探讨

顶上去啊!

------解决方案--------------------
你可以先把两个时间转成毫秒,做减法,然后再转过来!
------解决方案--------------------
多看看api
------解决方案--------------------
探讨

用getTime()方法就可以把日期转换成毫秒的,然后进行相减就可以了

------解决方案--------------------
把日期转成Calender就可以了,计算很方便