9

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

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

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

例えば

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

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

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

String longTime = new Long((new Date().getTime())).toString();
if(log.isDebugEnabled())log.debug("LAST_FEED_TIME will be " + longTime + " stored.");
4

1 に答える 1

9

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

System.currentTimeMillis

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

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

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

于 2012-10-15T11:37:47.307 に答える