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

use*_*462 15 java calendar date

我有一个"mm/yyyy"形式的字符串,我想将它与本地系统的日期进行比较.

我想过要在我的月份和日历中的MONTH字段之间使用转换表,例如:

    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;
    ...
Run Code Online (Sandbox Code Playgroud)

然后手动比较if.我不喜欢它,因为我觉得这么简单的操作太长了.

我想到的另一个选择是获取当前Date()和使用该 before()方法.这意味着将我的日期转换为日期格式,但是不推荐使用简单的方法,我必须指定毫秒数,我不知道如何轻松地做到这一点(考虑到闰年,日历更正等等)自1970年以来).

use*_*462 36

使用@Mifmif答案我终于解决了问题:

    if (new SimpleDateFormat("MM/yyyy").parse(date).before(new Date())) {
      ...
    }
Run Code Online (Sandbox Code Playgroud)


Mif*_*mif 6

试试这个 :

new SimpleDateFormat("MM/yyyy").parse("07/2014").compareTo(new Date());
Run Code Online (Sandbox Code Playgroud)

  • 他的目标似乎不太可能是知道它是否恰好在本月的第一天恰好是午夜和零毫秒..... (5认同)