В этом кратком руководстве мы увидим, как рассчитать возраст с помощью библиотек Java 8, Java 7 и Joda-Time.
Во всех случаях мы будем использовать дату рождения и текущую дату в качестве входных данных и возвращать расчетный возраст в годах.
2. Использование Java 8
Java 8 представила новый API даты и времени для работы с датами и временем, в основном основанный на библиотеке времени Joda.
В Java 8 мы можем использовать java.time.LocalDate для нашей даты рождения и текущей даты, а затем используйте Период для расчета их разницы в годах:
public int calculateAge( LocalDate birthDate, LocalDate currentDate) < // validate inputs . return Period.between(birthDate, currentDate).getYears(); >
LocalDate полезен здесь, потому что представляет только дату, по сравнению с классом Java Date , который представляет как дату, так и время. LocalDate.now() может дать нам текущую дату.
И Период полезен, когда нам нужно подумать о временных периодах в годах, месяцах и днях.
JavaScript решает. 10 Задача сколько лет
Если бы мы хотели получить более точный возраст, скажем, в секундах , то мы бы хотели взглянуть на LocalDateTime и Duration соответственно (и, возможно, вместо этого вернуть long ).
3. Использование Joda-Времени
Если Java 8 не является вариантом, мы все равно можем получить тот же результат от Joda-Time , де-факто стандарта для операций с датой и временем в мире до Java 8.
Нам нужно добавить зависимость Joda-Time в наш pom:
joda-time joda-time 2.10
И тогда мы можем написать аналогичный метод для вычисления возраста, на этот раз используя Локальные данные и Годы из Joda-Time :
public int calculateAgeWithJodaTime( org.joda.time.LocalDate birthDate, org.joda.time.LocalDate currentDate) < // validate inputs . Years age = Years.yearsBetween(birthDate, currentDate); return age.getYears(); >
4. Использование Java 7
Без выделенного API в Java 7 нам остается свернуть свой собственный, и поэтому существует довольно много подходов.
В качестве одного из примеров мы можем использовать java.util.Дата :
public int calculateAgeWithJava7( Date birthDate, Date currentDate) < // validate inputs . DateFormat formatter = new SimpleDateFormat(«yyyyMMdd»); int d1 = Integer.parseInt(formatter.format(birthDate)); int d2 = Integer.parseInt(formatter.format(currentDate)); int age = (d2 — d1) / 10000; return age; >
Здесь мы преобразуем заданную дату рождения и текущие данные объекты в целые числа и находим разницу между ними, и пока мы все еще не находимся на Java 7 через 8000 лет , этот подход должен работать до тех пор.
5. Заключение
В этой статье мы показали вам, как легко вычислить возраст с помощью библиотек Java 8, Java 7 и Joda-Time.
Чтобы узнать больше о поддержке времени передачи данных Java 8, ознакомьтесь с нашим введением даты и времени Java 8 .
И, как всегда, полный код для этих фрагментов можно найти на GitHub .
Читайте ещё по теме:
- Установите часовой пояс даты в Java
- Спящий режим – Отображение даты и времени
- Введение в Joda-Time
- Получить текущую дату, время и метку времени в Java 8
- Проверка, совпадают ли Две Даты Java в один и Тот Же День
- Преобразование java.util.Дата в строку
- Java 8 Дата – Локальная дата, локальное время, Мгновенное
Источник: javascopes.com
Решение задачи «Возраст Человека» по теме «Функция input()»
Создайте цикл java, который вычисляет возраст пользователя, когда он / она вводит год рождения, какие-нибудь идеи?
Я выполняю проект по компьютерному программированию и новичок в программировании, наш профессор хочет, чтобы мы «написали программу с циклом, которая вычислит год пользователя и выведет его / ее возраст».
import java.util.Scanner; import java.util.Calendar; public class lisuuh < public static void main(String[] args) < Scanner sc = new Scanner(System.in); int year = Calendar.getInstance().get(Calendar.YEAR); int myyear, result; do< System.out.print(«Enter your birth year: «); myyear = sc.nextInt(); result = myyear — year; >while(result == result); System.out.print(«You are «+result+»year/s old.»); > >
Источник: stackru.com
Русские Блоги
Java рассчитывает возраст в зависимости от года рождения
import java.util.Calendar; private int sumAge(String csny) < // Ищу возраст в соответствии с годом рождения // Применимо к дате 2018-1-1 в соответствии с возрастом рождения и месяца рождения // Проанализируйте год рождения String[] split = csny.split(«-«); if(split.length != 3)< // Год рождения при рождении является незаконным return -1; >// стремясь поделиться предыдущим годом и днем Calendar now = Calendar.getInstance(); int year = now.get(Calendar.YEAR); int month = now.get(Calendar.MONTH) + 1; int day = now.get(Calendar.DAY_OF_MONTH); // Рассчитать текущий возраст около возраста int age = year — Integer.parseInt(split[0]); if(age <0)< // Может рассчитать отрицательное число, боюсь, что оно не родилось, верно? return -1; >if(month — Integer.parseInt(split[1]) > 0)< // День рождения >else if(month — Integer.parseInt(split[1]) == 0) < // В этом месяце я не знаю, есть ли день рождения, вам нужно судить с небом if(day — Integer.parseInt(split[2]) < 0)< // Нет рождения age -= 1; >>else < // Нет рождения age -= 1; >return age; >
Интеллектуальная рекомендация
Как генерируется UUID K8s?
введение Не знаю, заметили ли вы, что в системе K8s каждый объект-экземпляр имеет свой собственный UID (фактически, UUID), который используется для уникальной идентификации себя. Например, в метаданны.
Используйте инструмент генерации кода mybatis-generator в IDEA
1. Добавьте зависимость в файл pom.xml 2. Добавьте файл generator.properties в каталог ресурсов. 3. Добавьте файл generatorConfig.xml в каталог ресурсов. Примечание: если»http://mybatis.org/dtd/m.
Входная глава Python3
Входная глава Python3 (1) Python введение Python Личное понимание Новое изменение Python3 войти Выход Режим кодирования Python введение Python Личное понимание С огненной концепцией ИИ, Python медленн.
Имитация панели навигации Android трех нажатий кнопки King Kong
Имитация панели навигации Android трех нажатий кнопки King Kong Здесь необходимо использоватьAccessibilityServiceСервисы поддержки доступности, которые могут глобально отслеживать все изменения интерф.
Python: используйте Pymysql для подключения к базе данных
Используйте Pymysql для подключения к базе данных Mysql.
Источник: russianblogs.com