我只是偶然发现了这种方法
public static Date getNowDate() {
final Calendar cal = new GregorianCalendar();
cal.setTime(new Date());
return cal.getTime();
}
它被这样调用:
getNowDate().getTime()
这和打电话有什么不同吗
System.currentTimeMillis()
?
在 long (millis) 的结果返回值方面没有区别
如果您希望当前日期,更简单的方法是,您在日历中设置日期并将其检索回来getNowDate()
,可以简化如下
public static Date getNowDate() {
return new Date();
}
除了性能之外,它们都差不多。
System.currentTimeMillis() 是一个系统调用,因此它需要大约 0.1 到 0.3 微秒(取决于您的操作系统)
new Date() 还创建了一个对象,它只需要大约 0.1 到 0.3 微秒,但会产生一些垃圾。
Calendar.getInstance() 创建一组昂贵的对象,并且需要大约33微秒。
我认为这两者之间没有任何区别,以 result 的形式,因为它们都将返回从 1970 年 1 月 1 日至今的长值。
即使只是简单地调用Date d = new Date();
也会给你现在的日期,调用d.getTime();
会返回它的长表示