在Java中,new Date().getTime()和System.currentTimeMillis()都是用来获取当前时间的,并可以用DateFormat转成对应的时间格式,代码如下。
import java.text.SimpleDateFormat; import java.util.Date; public class TestDate { final static SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:SS"); public static void main(String[] args) { System.out.println(DATE_FORMAT.format(new Date().getTime())); System.out.println(DATE_FORMAT.format(System.currentTimeMillis())); } }
那么,他们有什么区别呢?查看Date类的源码,可以发现构造方法如下:
public Date() { this(System.currentTimeMillis()); }
综上,Date类的获取时间戳只是调用了系统类中currentTimeMillis()方法,在实际操作中,使用System.currentTimeMillis()可以获得更高的精度。