回到顶部
您的当前位置: 编程语言> JAVA> JAVA基础> 基础语法
Java计算两个时间之间的间隔
2014-04-24 12:04:05
标签: 转载 Java 时间 日期 间隔
1. 怎样计算两个时间之间的间隔?

间隔=Date1.getTime()-Date2.getTime();得出来的是毫秒数

除1000是秒,再除60是分,再除60是小时

记住java标准库中所有时间类都以此为基础转化的,只是他写好了一些

转化的方法给你用而已.但都离不开这个毫秒数为基础

2. t=Calendar.getInstance();m=t.get(t.MONTH)+1;这里为什么要加一?

在java语言里,date的month的取值范围是:0~11,与人们的自然表达上相差1。

3. 系统时间与当前日期的区别?

在开发过程中,通常很多人都习惯使用new Date()来获取当前时间,使用起来也比较方便,同时还可以获取与当前时间有关的各方面信息,例如获取小时,分钟等等,而且还可以格式化输出,包含的信息是比较丰富的。但是有些时候或许你并不需要获取那么多信息,你只需要关心它返回的毫秒数就行了,例如getTime()。为了获取这个时间戳,很多人也喜欢使用new Date().getTime()去获取,咋一看没什么问题,但其实没这个必要。

其实看一下java的源码就知道了:

public Date()
{
    this(System.currentTimeMillis());
}

已经很明显了,new Date()所做的事情其实就是调用了System.currentTimeMillis()。如果仅仅是需要或者毫秒数,那么完全可以使用System.currentTimeMillis()去代替new Date(),效率上会高一点。况且很多人喜欢在同一个方法里面多次使用new Date(),通常性能就是这样一点一点地消耗掉,这里其实可以声明一个引用。

4. 如何计算两个日期的天数差值?

long beginTime = beginDate.getTime();

long endTime2 = endDate.getTime();

long betweenDays = (long)((endTime - beginTime) / (1000 * 60 * 60 *24) + 0.5);

5. 怎么得到一个月的天数?

java.util.Calendar date = java.util.Calendar.getInstance();

System.out.println(date.getActualMaximum(date.DAY_OF_MONTH));