new Date().getTime()和System.currentTimeMillis()的區別
阿新 • • 發佈:2019-01-01
在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 staticvoid 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()可以獲得更高的精度。