java: new Date().getTime() 與 System.currentTimeMillis() 與 System.nanoTime()


java使用new Date()和System.currentTimeMillis()獲取當前時間戳

 

      在開發過程中,通常很多人都習慣使用new Date()來獲取當前時間,使用起來也比較方便,同時還可以獲取與當前時間有關的各方面信息,例如獲取小時,分鍾等等,而且還可以格式化輸出,包含的信息是比較豐富的。但是有些時候或許你並不需要獲取那么多信息,你只需要關心它返回的毫秒數就行了,例如getTime()。為了獲取這個時間戳,很多人也喜歡使用new Date().getTime()去獲取,咋一看沒什么問題,但其實沒這個必要。

     其實看一下java的源碼就知道了:

  public Date()
  {
    this(System.currentTimeMillis());
  }

已經很明顯了,new Date()所做的事情其實就是調用了System.currentTimeMillis()。如果僅僅是需要或者毫秒數,那么完全可以使用System.currentTimeMillis()去代替new Date(),效率上會高一點。況且很多人喜歡在同一個方法里面多次使用new Date(),通常性能就是這樣一點一點地消耗掉,這里其實可以聲明一個引用。

 

from:

http://www.cnblogs.com/wuchen/archive/2012/06/30/2570746.html

 

另:

java的System.currentTimeMillis() 和 System.nanoTime() 區別:

java中System.nanoTime()返回的是納秒,nanoTime而返回的可能是任意時間,甚至可能是負數

主要的用途是衡量一個時間段,比如說一段代碼執行所 用的時間,獲取數據庫連接所用的時間,網絡訪問所用的時間等

另外,nanoTime提供了納秒級別的精度,但實際上獲得的值可能沒有精確到納秒

java中System.currentTimeMillis()返回的毫秒,這個毫秒其實就是自1970年1月1日0時起的毫秒數

 

from:

http://www.cnblogs.com/ungshow/archive/2011/12/05/2276333.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM