2015-11-01 203 views
0

我正在編寫一個程序,測試以查看日期是否在兩個特定日期之間。所以如果日期是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(); 
    } 

} 

}

+0

發佈[MVCE](http://stackoverflow.com/help/mcve) –

回答

1

更改使用MM爲兩位數月份格式。 mm將其設置爲分鐘:)

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");