先说下这个简单的方法。
System.currentTimeMillis()
currentTimeMillis()是个静态方法,可以直接通过System类调用,返回一个long类型的整数。
该整数表示当前时间与1970年1月1日零点整之间的时间差,以毫秒为单位,又称时间戳。
long time = System.currentTimeMillis();
System.out.println(time);
该方法可以通过两次调用来简便地获取两个时间点间的时间差。
long start = System.currentTimeMillis();
Thread.sleep(1000); // 令当前线程阻塞1000毫秒
long end = System.currentTimeMillis();
System.out.println(end-start); // 1001
Date类
这里主要指util下的Date类,对于sql下的Date类会有提及。
Date类的使用也比较简单,主要理清两个构造器与两个方法的使用即可。
构造器
// 构造器一:Date(),创建一个对应当前时间的Date对象
Date date1 = new Date();
// 构造器二:Date(long date),创建指定毫秒数的Date对象
Date date2 = new Date(System.currentTimeMillis());
两个方法
toString(): Date类重写过的toString()方法,得到年月日时分秒等表示的时间值。
getTime(): 同currentTimeMillis()。
System.out.println(date1); // Tue Jun 23 20:46:52 CST 2020
System.out.println(date1.getTime()); // 1592916412040
对于sql.Date类,主要用于数据库时间数据的记录。这个类继承了util.Date类,可以采取与util.Date类相同的构造器。
下面主要说说这两个Date类的相互转换。
相互转换
sql.Date 转 util.Date:因为子父类的关系,可以直接赋值多态。
util.Date 转 sql.Date:见如下代码。
java.util.Date date6 = new java.util.Date();
java.sql.Date date7 = new java.sql.Date(date6.getTime());
关于currentTimeMillis方法和Date类的使用都比较简单,就记录到这里。