2012-01-01 12 views
3

私の取引システムのタイムスタンプ(注文送信時刻、確認時刻、完了時刻)をミリ秒の精度で記録する必要があります。Javaタイムスタンプ:Joda vs Date vs Long

...この情報を表現する最良の方法は...私は別のタイムスタンプ間の性能/レイテンシーを分析するために記録する必要があるものを考えるようにしようと

はジョダの瞬間を使用して任意のポイントはありますか? UTCの日時を保存するだけでJavaの日付に比べてどのような利点があるかわかりません。

ない私も、私は今、この権利を必要とする理由を私は考えることができないとして、日付を使用する必要があるかどうかわから...しかし、そのビットより明示的な代わりの長い...

を使用して任意の考えこれに最も接近する方法について?私が間違った決定を下すと、後でこれをリファクタリングするのに時間がかかると思う。

+0

この情報はどこに保存する必要がありますか?ファイル?データベース?それは主に形式を決定するでしょう。 –

+0

Jodaは部分的な日付(たとえば2008-11)がある場合に有効です。それ以外の場合は「long」を使用します。 'Date'は、そのすべての非推奨と奇妙に見えます。 –

答えて

5

通常、時間を処理するタスクは、表面を見ているよりも難しくなります。あなたがあなたの質問に示唆しているように違いを取るだけでなく、あなたが時間の値を使って何らかの非自明な操作を行っているなら、真剣にJodaを考慮する必要があります。 Jodaは非常に包括的な図書館です。

ホイールを後で改造する必要があることが分かったら、おそらくlongの値から始めて、リファクタリングをJodaに開始してください。

(システムにライブラリを追加することによるその他の副作用も考慮する必要があります。これは、メモリ使用量の増加やサイクルの減少を問わず、トレーディングシステムを構築していると言いますが、 )特別な要件を持つパフォーマンスシステム)