На нашем сайте мы используем cookie для сбора информации технического характера и обрабатываем IP-адрес вашего местоположения. Продолжая использовать этот сайт, вы даете согласие на использование файлов cookies. Здесь вы можете узнать, как мы пользуемся файлами cookies.
Я согласен
логотип upread.ru

Обзор Java Date и Time API



JSR 310 Date и Time API был разработан для преодоления многочисленных проблем, связанных с предыдущими Date и Time API, Java. В результате проект был построен с учетом ряда важных принципов дизайна:

  • Неизменность и потокобезопасность. Все основные классы в Date и Time API являются незыблемыми; это гарантирует, что вам не придется беспокоиться о многопоточности, то есть о проблемах, вызываемых отсутствием синхронизации потоков. Неизменные объекты просто строить, использовать; с помощью них можно создавать хороших хэш-ключи и так далее.

  • Беглость. Date и Time API представляет собой интерфейс, который делает методы более читаемым и легче учится, особенно, когда методы соединены друг с другом. Некоторые заводские методы (например, в now() , from() , а также of -prefixed методов) используются в качестве альтернативы конструкторами. Вы также сможете использовать with -prefixed методы, если вам нужно возвратить копию текущего экземпляра с дополнительной информацией.

  • Ясность. Каждый метод Date и Time API определен корректно; ясно, что он выполняет. Кроме того, Date и Time не принимает нулевые аргументы в самом начале. Если не указано иное, то передавая пустой аргумент к методу в любом классе или интерфейсе, будет вызываться NullPointerException. Являются исключением vетоды валидации, которые принимают аргументы и возвращают объект, логические значения: они обычно возвращают false, когда передается NULL.

  • Расширяемость. Шаблон проектирования стратегии используется по всему API , чтобы обеспечить расширение, избегая путаницы. Например, хотя классы Date и Time основаны на ISO-8601 системе календаря, вы можете также работать с календарями не ISO (например, японский Imperial), которые включены в API. Можно даже представить свой собственный календарь.
На момент написания этой статьи в Date и Time описывается более 60 типов, которые организованы в основной пакет и четыре подпакета:

  • В java.time представлены классы, представляющие основные понятия даты и времени: моменты, продолжительность, даты, время, часовые пояса, partial-ы и периоды. Все классы данного пакета являются статичными и ориентированными на многопоточное исполнение.

  • java.time.chrono обеспечивает общий API, который описывает календарные систем, отличных от дефолтной календарной системы ISO-8601.

  • java.time.format представляет классы для форматирования и разбора объектов даты и времени.

  • java.time.temporal предлагает поля, блок или доступ к настройке временного объекта, например по дате.

  • В java.time.zone представлены классы, в которых реализована поддержка часовых поясов и их правил.
Типы в пакете java.time должны удовлетворять большинство ваших потребностей. Вы будете работать непосредственно с типами в остальных четырех пакетах только тогда, когда вам нужно выйти за пределы java.time в ISO-8601 - системы календаря по умолчанию.

Модернизация старого Date и Time API

Для того, чтобы облегчить переход к новой API, старый Date и Time API, был модернизирован для взаимодействия с датой и временем. Например, метод Instant toInstant() был добавлен в java.util.Date для конвертирования экземпляра Date в Instant экземпляр.

Продолжение следует...




тегистатьи IT, java, Date, Time





Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.




Кодирование Base64 и C#
Помогите сайту


© upread.ru 2013-2019
При перепечатке активная ссылка на сайт обязательна.
Задать вопрос
письмо
Здравствуйте! Вы можете задать мне любой вопрос. Если не получается отправить сообщение через эту форму, то пишите на почу up777up@yandex.ru
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.