我正在编写一个程序,测试以查看日期是否在两个特定日期之间。所以如果日期是1868年1月25日至1912年7月30日,那么明治时代就是这样,等等。我的测试值是1868年9月8日,我的范围是1868年1月25日和1912年7月30日。因此,当我运行该程序时,只打印“再见”。Java Date.before工作但Date.after不工作
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");
Date meijiStart = sdf.parse("1868-01-25");
Date meijiEnd = sdf.parse("1912-07-30");
Date Test = sdf.parse("1868-09-08");
Date taishoStart = sdf.parse("1912-08-01");
Date taishoEnd = sdf.parse("1926-12-25");
Date showaStart = sdf.parse("1926-12-26");
Date showaEnd = sdf.parse("1989-01-07");
Date heiseiStart = sdf.parse("1989-01-08");
Date heiseiEnd = sdf.parse("2015-10-30");
if (Test.after(meijiStart))
{
System.out.println("hi");
}
if (Test.before(meijiEnd))
{
System.out.println("bye");
}
} catch (ParseException ex)
{
ex.printStackTrace();
}
}
}
发布[MVCE](http://stackoverflow.com/help/mcve) –