2011-12-13 10 views
0

カレンダーを作成するよりも、タイムスタンプをJavaの1日に丸める軽量な方法がありますか?Javaの場合、タイムスタンプから日を取得する最善の方法

Calendar.getInstance()にSystem.currentTimeMillis()を呼び出すため、System.currentTimeMillis()を呼び出さずにタイムスタンプからCalendarインスタンスを作成する標準的な方法はありますか?

答えて

7

先頭へ戻る:日付と時刻を扱うときは常にjoda-timeを優先してください。

カレンダーについては、getInstance()(またはGregorianCalendarをインスタンス化する(通常は常にそうとは限りません)を呼び出すことによってのみ作成できます)。そして、あなたはタイムスタンプをcalendar.setTimeInMillis(..)

+0

+1と設定することができます - これは私が答えに行くつもりでした。どんな奇妙な理由であれ、現在の時刻以外のものに初期化された 'カレンダー'のインスタンスを作ることはできません... –

+0

技術的に、あなたはできます。 millis = 0のカレンダーをバイト配列にシリアル化すると、コンストラクタをバイパスする 'Calendar'の新しいインスタンスに配列を何度も逆シリアル化できます。しかし、あなたはそれをする必要はありません。 – Bozho

+0

+1しかし、getInstance()を呼び出すと必ずGregorianCalendarが返されるわけではありません。 –

関連する問題