如何检查是否经过某个日期

2022-09-02 00:13:20

我有一个“mm/ yy”形式的字符串,我想将其与本地系统的日期进行比较。

我想过在日历中的月份和月份字段之间使用转换表,如下所示:

    Calendar cal = Calendar.getInstance();
    String date = "07/2014";
    String month = date.subString(0, 2);
    int monthToCompare;
    if (month.equals("01"))
      monthToCompare = cal.JANUARY;
    if (month.equals("02"))
      monthToCompare = cal.FEBRUARY;
    ...

然后手动与 if 进行比较。我不喜欢它,因为我认为对于如此简单的操作来说太长了。

我想到的另一个选项是获取电流并使用该方法。这意味着将我的日期转换为日期格式,但是执行此操作的简单方法已被弃用,我必须指定毫秒数,我不知道如何轻松执行此操作(考虑到自1970年以来的闰年,日历更正等)。Date()before()


答案 1

使用@Mifmif答案,我最终解决了这个问题:

if (new SimpleDateFormat("MM/yyyy").parse(date).before(new Date())) {
    ...
}

答案 2

试试这个 :

new SimpleDateFormat("MM/yyyy").parse("07/2014").compareTo(new Date());