Java 8 имеет совершенно новую библиотеку для дат и времени в пакете java.time, что очень приветствуется для всех, кому раньше приходилось использовать JodaTime или из-за необходимости создавать собственные вспомогательные методы обработки дат. Многие классы в этом пакете представляют временные метки и имеют вспомогательные методы, такие как getHour()
получение часов из временной метки, getMinute()
получение минут из временной метки, getNano()
получение наночастиц из временной метки и т. Д.
Я заметил, что у них нет метода, вызываемого getMillis()
для получения миллис метки времени. Вместо этого нужно было бы вызвать метод get(ChronoField.MILLI_OF_SECOND)
. Мне кажется, что это противоречие в библиотеке. Кто-нибудь знает, почему такой метод отсутствует, или поскольку Java 8 все еще находится в разработке, есть ли вероятность, что он будет добавлен позже?
https://docs.oracle.com/javase/8/docs/api/java/time/package-summary.html
Определенные здесь классы представляют основные понятия даты и времени, включая моменты времени, длительности, даты, время, часовые пояса и периоды. Они основаны на календарной системе ISO, которая является де-факто мировым календарем, следующим лептическим григорианским правилам. Все классы являются неизменяемыми и потокобезопасными.
Каждый экземпляр даты и времени состоит из полей, которые удобно доступны через API. Для более низкого уровня доступа к полям обратитесь к
java.time.temporal
пакету. Каждый класс включает в себя поддержку печати и парсинга всевозможных дат и времени. Обратитесь кjava.time.format
пакету для настройки параметров ...
Пример такого класса:
https://docs.oracle.com/javase/8/docs/api/java/time/LocalDateTime.html.
Дата-время без часового пояса в календарной системе ISO-8601, например 2007-12-03T10: 15: 30.
LocalDateTime
является неизменным объектом даты-времени, который представляет дату-время, часто рассматриваемый как год-месяц-день-час-минута-секунда. Другие поля даты и времени, такие как день года, день недели и неделя года, также могут быть доступны. Время представляется с точностью до наносекунды. Например, значение «2 октября 2007 в 13: 45.30.123456789» может быть сохранено вLocalDateTime
...
Instant
класса
get()
, вместо того, чтобы давать им индивидуальные, уникальные имена. Если это вас беспокоит, напишите класс, который наследует исходный класс, и поместите свой собственныйgetMillis()
метод в новый класс.