Как найти последний день месяца с MM / YY в качестве даты (в строковом формате)? - PullRequest
0 голосов
/ 22 апреля 2019

Я пытаюсь подтвердить срок действия указанной платежной карты (в моем приложении для Android).Пользователь вводит дату истечения срока действия с помощью этого средства выбора месяца: https://github.com/premkumarroyal/MonthAndYearPicker

Дата хранится в моем EditText в формате MM / yy.Теперь я хочу убедиться, что дата не раньше сегодняшней даты.Для этого я пытаюсь выяснить последний день выбранного месяца и сравниваю его с сегодняшней датой, чтобы увидеть, является ли выбранный день раньше текущей даты (следовательно, истек).

Мне было интересно, как я могусделай это?Любая помощь будет оценена.

cardExpiryDate.getText().toString() 

Получает дату, выбранную пользователем, и преобразуется в строку, поэтому ее в следующем формате -> MM / гг

РЕДАКТИРОВАТЬ: это не дубликат предлагаемой ссылкипоскольку эта ссылка сравнивает две даты (которые включают дни), тогда как мне нужно преобразовать строку в форме MM / yy в dd / MM / yy (чтобы dd была последней датой этого месяца), а затем сравнить ее с сегодняшней датой ..Я надеюсь, что это имело смысл.

Ответы [ 3 ]

0 голосов
/ 22 апреля 2019

Я решил исправить этот вопрос, сравнивая только месяцы даты пользовательского ввода и сегодняшнюю дату вместо сравнения всей даты.

0 голосов
/ 22 апреля 2019

YearMonth класс

Анализировать ввод строки как объект YearMonth.

DateTimeFormatter f = DateTimeFormatter.ofPattern( "MM/uu" ) ;
YearMonth expiry = YearMonth.parse( input , f ) ;

Захватите сегодняшнюю дату.

ZoneId z = ZoneId.of( "America/Montreal" ) ;
LocalDate today = LocalDate.now( z ) ;

Получите год-месяц сегодня.

YearMonth currentYearMonth = YearMonth.from( today ) ;
Boolean isExpired = currentYearMonth.isAfter( expiry )  ;

Обратите внимание, что нас не волнует последний деньмесяца, который вы упомянули в вопросе.

0 голосов
/ 22 апреля 2019

Если вы работаете с MM / YY, вам следует сравнить MM / YY с форматом MM / YY.В противном случае это не имеет смысла.Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...