2017-08-08 185 views
-2

我想不考慮系統日期而採用當前時間。我在netbeans中使用Glassfish服務器和derby。我試着根據IST得到當前日期的代碼:將時區設置爲IST,但我仍然收到錯誤的日期錯誤

DateFormat df = new SimpleDateFormat("yyyymmdd"); 
    df.setTimeZone(TimeZone.getTimeZone("ist")); 
    String gmtTime = df.format(new java.util.Date().getTime()); 

    java.util.Date parsed = null; 
    try { 
     parsed = (java.util.Date) df.parse(gmtTime); 
    } catch (ParseException ex) { 
     Logger.getLogger(EmployeePanel.class.getName()).log(Level.SEVERE, null, ex); 
    } 
    java.sql.Date date = new java.sql.Date(parsed.getTime()); 

但我得到2017-01-08而不是2017-08-08。

+0

除了延的答案,看看這個問題太 - > [Java的時區 - 與IST奇怪的行爲?](https://stackoverflow.com/questions/11264697/java-timezone -strange - 行爲 - 與-IST) –

回答

1

m是分鐘而不是月(M)。正確的模式是:

SimpleDateFormat("yyyyMMdd"); 

模式定義區分大小寫!

欲瞭解更多信息請參閱the javadoc of SimpleDateFormat

相關問題