2011-12-13 3 views
0

Есть ли более легкий способ округлить временную метку до дня на Java, чем создавать календарь?В java лучший способ получить день с отметки времени

Если нет, существует ли стандартный способ создания экземпляра календаря из временной метки без вызова System.currentTimeMillis(), поскольку Calendar.getInstance() включает вызов System.currentTimeMillis()?

ответ

7

Для начала: всегда предпочитайте joda-time при работе с датой и временем.

Что касается Календаря - вы можете создать его только путем вызова getInstance() (или создания экземпляра GregorianCalendar, который обычно является (но не всегда)). И вы можете установить метку времени с calendar.setTimeInMillis(..)

+0

+1 - Это было, где я собирался пойти с моим ответом. По какой бы то ни было причине вы не можете создать экземпляр «Календарь» (который, возможно, довольно глупо содержит состояние), инициализированный для чего-либо иного, кроме текущего времени ... –

+0

технически, вы можете. Если вы сериализуете календарь с помощью millis = 0, в массив байтов, вы можете десериализовать массив несколько раз в новый экземпляр «Calendar», который обходит конструктор. Но вам просто не нужно это делать. – Bozho

+0

+1 но вызов getInstance() не всегда возвращает GregorianCalendar! –

Смежные вопросы