は、私が長いデータに変換し、その時間の一部を取得するには、次のコードを使用することができます知っている:Javaの取得時間の部品を効率的
Calendar c = Calendar.getInstance();
c.setTimeInMillis(long-variable);
c.get(Calendar.HOUR_OF_DAY);
をしかし、これは本当に効率的ではありませんが、このコードからCalendarオブジェクトを再利用することができない複数のスレッドから実行されます。日付の長い表現から時間部分を取得する効率的な方法はありますか?
ありがとうございます!
'long'表現、それに関連付けられたタイムゾーンを持っていません:はスレッドセーフではないので、
Calendar
インスタンスが複数thread.Ofコースながら、同期する必要があり、ThreadLocal
を使用すると、これはperformance.Likeで良いです - 'カレンダー'は行います。 「長い」表現は、ただの瞬間である。現在の瞬間は、英国では私にとって13時の1日を持ちますが、それはあなたのために完全にどこかにあるかもしれません...どのタイムゾーンに興味がありますか?現在のコードでは、システムのデフォルトのタイムゾーンが使用されています。 –'(longvar/1000/60/60)%24'?もちろん、GMTで時間を取得します。 – dejvuth