2016-11-10 1 views
-2

私はいくつかのJavaアプリケーションの試用版を日付に依存させたいと思っています。それとも、計算されていますか?JavaのDateクラスは、ユーザーpcから計算または取得されますか?

+0

「彼はトリックできる」とはどういう意味ですか? –

+0

デバイスの日付を変更する –

+0

**ユーザーを信頼できない場合は、コンピュータの時計**を信頼できず、オペレーティングシステムまたはJVMから報告された現在時刻を信頼できません。信頼できるタイムサーバーを使用してください。ローカルサーバーまたはインターネット経由のサーバーです。または、代替ハードウェアを使用して現在の時刻を取得します。スタックオーバーフローに関する他の多くの質問と回答について既に議論されています。 –

答えて

2

日付情報は、実際に実行されているコンピュータのシステム日付から取得されます。したがって、これがサーバー上で実行されているJavaコードを持つWebアプリケーションであれば、それはどこから来るのでしょうか。他のユーザーと共有しているスタンドアロンのJavaプログラムの場合、ユーザーのコンピュータから日付が取得されます。

コンピュータには秘密の「正しい」日付と別のユーザー変更可能なものがありません。

+0

ntpまたはsntp(またはWebレスポンスのヘッダーフィールド)を使って時間をフェッチすることはできますが、それはJavaの仕方とは違っています。 –

+0

@ElliottFrisch良い点は、実際にOPが探しているものを達成するための1つの方法です.Javaの日付を使用するのではなく、時間のためにサーバーを呼び出します。 – nvioli

1

ユーザーのシステムクロックから、エポック時間(1970年1月1日からGMTの午前0時までのミリ秒数)を使用して計算されます。

+0

Java 8以前ではTrueです。 Java 9では、['Clock'](https://docs.oracle.com/javase/8/docs/api/java/time/Clock.html)の新しい実装は、現在の時刻を' Instant.now( )は、ミリ秒ではなく**ナノ秒**解像度でキャプチャされます。実際の精度は、コンピュータのクロックハードウェアによって異なります。 –

関連する問題