Ответ 1
Вы не можете получить миллины непосредственно из Period
, так как поля, такие как месяцы и годы, являются переменными в миллисекундах.
Чтобы выполнить эту работу, вам необходимо предоставить "базовый" момент, из которого Period
может вычислить фактическую продолжительность в миллисекунду.
Например, методы Period.toDurationFrom
и Period.toDurationTo
принимают такой базовый момент и вычисляют объект Duration
, который затем можно получить миллисом.
Javadoc для toDurationFrom
говорит:
Получает общую миллисекундную продолжительность этого периода относительно момента начала. Этот метод добавляет период к указанному моменту для вычисления продолжительности.
Необходимо указать момент, поскольку продолжительность периода варьируется. Например, период в 1 месяц может меняться между эквивалентом 28 и 31 днями в миллисекундах из-за разных месяцев длины. Точно так же день может варьироваться в зависимости от перехода на летнее время, обычно от 23 до 25 часов.
Итак, вам нужно выбрать подходящий базовый момент для вашего приложения.