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