繁体   English   中英

如何以MM / YY作为日期(字符串格式)查找月份的最后一天?

[英]How to find the last day of month with MM/YY as date (in string format)?

我正在尝试验证给定支付卡的到期日期(在我的Android应用程序中)。 用户使用此月份选择器输入到期日期: https//github.com/premkumarroyal/MonthAndYearPicker

日期以MM / yy格式存储在我的EditText中。 我现在想确保日期不在今天之前。 为此,我试图找出所选月份的最后一天,并将其与今天的日期进行比较,以确定所选日期是否在今天之前(因此已过期)。

我想知道我怎么能做到这一点? 任何帮助,将不胜感激。

cardExpiryDate.getText().toString() 

获取用户选择的日期并转换为字符串,使其格式如下 - > MM / yy

编辑:这不是建议链接的重复,因为该链接比较两个日期(包括天),而我必须将MM / yy形式的字符串转换为dd / MM / yy(因此dd是最后一个日期)那个月),然后将它与今天的日期进行比较..我希望这是有道理的。

我最后通过比较用户输入日期和今天的日期而不是比较整个日期来解决这个问题。

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 )  ;

请注意,我们不关心您在问题中提到的月份的最后一天。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM