web-dev-qa-db-ja.com

new Date()。getTime()がミリ秒単位でタイムスタンプを返さない

_Java.util.Date_クラスを使用して日付オブジェクトを作成し、getTime()を使用して現在のミリ秒を取得しているクラスがあります。

Javaのドキュメントで、getTime()がミリ秒を返すことを確認しましたが、同じケースが私のマシンにもあります。

もう1つのサーバーがあります。アプリケーションをサーバーにデプロイすると、同じgetTime()がタイムスタンプを秒単位で返します。

例えば.

  • サーバー上の値:1350054625
  • ローカルの値:1350054625000

これがどのように可能であるのか疑問に思っています。同じコードをローカルで試しましたが、タイムスタンプがミリ秒単位で取得されました。

以下はコードの一部です...

_String longTime = new Long((new Date().getTime())).toString();
if(log.isDebugEnabled())log.debug("LAST_FEED_TIME will be " + longTime + " stored.");
_
9
Chinmay

'new Date()'は次にSystem.currentTimeMillis()を使用します

System.currentTimeMillis

現在の時刻をミリ秒単位で返します。戻り値の時間の単位はミリ秒ですが、値の粒度は基盤となるオペレーティングシステムによって異なり、それよりも大きくなる場合があることに注意してください。たとえば、多くのオペレーティングシステムは、数十ミリ秒の単位で時間を測定します。

「コンピュータ時間」と協定世界時(UTC)の間に発生する可能性のあるわずかな不一致については、クラスDateの説明を参照してください。

ソース: http://docs.Oracle.com/javase/1.4.2/docs/api/Java/lang/System.html#currentTimeMillis()

9
Munesh