1.
long java.util.Date.getTime()
Returns the number of milliseconds since January 1, 1970, 00:00:00 GMT
represented by this Date object.
如上JDK文档说,在Date对象上用getTime()获得自1970年1月1日以来的毫秒数。
2.
System.currentTimeMillis()这个方法获取当前时间的毫秒数。
3.
以下实例代码把通过毫秒数相减算的目前距2014-10-01 00:00:00的天数。
public class Test {public static void main(String[] args) throws ParseException {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
String start="2014-10-01 00:00:00"
//得到毫秒数
long timeStart=sdf.parse(start).getTime()
long justNow =System.currentTimeMillis()
//两个日期想减得到天数
long dayCount= (justNow-timeStart)/(24*3600*1000)
System.out.println(dayCount)
}
}
输出
25
获取毫秒数,即long类型的数值,仅能返回自 1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数。
一楼、二楼的回答就是正确的,不过在使用中还需要根据自身使用环境,直接使用或者进一步按需优化后再使用。
最常使用的就是,把String类型的日期先转换为Date类型,最后直接调用.getTime()即可,这也是比较方便的了。
还有就是以上提到的Timestamp类中的valueOf(String s) 方法,这里一定要注意,给定的字符串日期型数据必须符合置顶指定格式:yyyy-mm-dd hh:mm:ss[.fffffffff],否则会抛出异常。
PS>
java 计算两个时间相差可以用getTime()来获得两个时间的毫秒数,可以这样计算得出两个时间的秒数的相差如下:
public int calLastedTime(Date startDate) {
long a = new Date().getTime()
long b = startDate.getTime()
int c = (int)((a - b) / 1000)
return c
}
扩展资料:
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等 。
参考资料:百度百科-JAVA