1. 程式人生 > >new Date().getTime()和System.currentTimeMillis()的區別

new Date().getTime()和System.currentTimeMillis()的區別

  在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()可以獲得更高的精度。