2015-02-24 2 views
0

До сих пор мы использовали класс joda-time DateTime для представления данных даты и времени с часовым поясом UTC, и это соответствует нашим требованиям.Какое самое точное представление времени для «DateUTC»?

Пример: 2014-11-07T14:10:00Z

Теперь у нас есть требование представления данных «дата» (в UTC часовом поясе).

Пример: 2014-11-07

Там существует класс с LocalDate Joda времени, а также способ для преобразования из DateTime с помощью DateTime.toLocalDate().

Я искал класс времени, который, как я думал, будет существовать DateUTC - но он, кажется, не существует!

Может кто-нибудь, пожалуйста, укажите мне в правильном направлении или на самом деле укажите, что является лучшим классом joda-времени для представления данных «date-UTC» (без метки времени)?

P.s. мы еще не готовы перейти на java 8, так как у нас есть много кода с использованием библиотеки joda-time

+0

Поскольку ваш 'DateTime' находится в UTC уже, вы должны быть в порядке с' LocalDate'. Если вам просто нужно представление строки, 'LocalData # toString()' должно служить вам хорошо http://joda-time.sourceforge.net/apidocs/org/joda/time/LocalDate.html#toString(). –

ответ

1

Если ваш объект DateTime находится в UTC, преобразование его в LocalDate в порядке, если вам не все равно. Если его еще нет в UTC, вы можете преобразовать его в UTC, используя DateTime.withZone(DateTimeZone.UTC).toLocalDate()

LocalDate представляет только компоненты даты, без информации о часовом поясе. Поэтому ваш код может просто использовать его и предположить, что он находится в UTC, если вы согласны. Для строкового представления вы можете использовать LocalDate.toString().

Однако, если вы хотите только отформатировать существующий объект DateTime, чтобы представление строки отображало только компоненты даты, тогда вам не нужно использовать LocalDate. Просто отформатируйте его, чтобы показывать только даты: DateTime.toString("yyyy-MM-dd").

+0

Отлично, только совет, который я хотел - спасибо. – vikingsteve

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